@vertesia/create-plugin 0.79.0 → 0.80.0-dev-20251118

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 (45) hide show
  1. package/README.md +68 -63
  2. package/lib/Package.d.ts +2 -2
  3. package/lib/Package.d.ts.map +1 -1
  4. package/lib/TemplateInit.d.ts +2 -1
  5. package/lib/TemplateInit.d.ts.map +1 -1
  6. package/lib/TemplateInit.js.map +1 -1
  7. package/lib/ToolTemplateInit.d.ts.map +1 -1
  8. package/lib/ToolTemplateInit.js +17 -4
  9. package/lib/ToolTemplateInit.js.map +1 -1
  10. package/lib/WebTemplateInit.d.ts.map +1 -1
  11. package/lib/WebTemplateInit.js +0 -9
  12. package/lib/WebTemplateInit.js.map +1 -1
  13. package/lib/copy.d.ts +1 -1
  14. package/lib/copy.d.ts.map +1 -1
  15. package/lib/copy.js +6 -2
  16. package/lib/copy.js.map +1 -1
  17. package/lib/init.d.ts.map +1 -1
  18. package/lib/init.js +73 -56
  19. package/lib/init.js.map +1 -1
  20. package/lib/types.d.ts +12 -0
  21. package/lib/types.d.ts.map +1 -0
  22. package/lib/types.js +20 -0
  23. package/lib/types.js.map +1 -0
  24. package/package.json +48 -36
  25. package/templates/tool/.env.example +6 -0
  26. package/templates/tool/.vscode/launch.json +1 -1
  27. package/templates/tool/README.md +179 -20
  28. package/templates/tool/gitignore +26 -0
  29. package/templates/tool/rollup.config.js +30 -0
  30. package/templates/tool/src/collections/example/icon.svg.ts +6 -0
  31. package/templates/tool/src/collections/example/index.ts +14 -0
  32. package/templates/tool/src/collections/example/weather/WeatherTool.ts +32 -0
  33. package/templates/tool/src/collections/example/weather/manifest.ts +16 -0
  34. package/templates/tool/src/collections/index.ts +7 -0
  35. package/templates/tool/src/index.ts +4 -5
  36. package/templates/tool/src/server.ts +68 -16
  37. package/templates/tool/tsconfig.json +14 -4
  38. package/templates/tool/vite.config.js +46 -8
  39. package/templates/web/README.md +153 -51
  40. package/templates/web/eslint.config.js +2 -1
  41. package/templates/web/gitignore +25 -0
  42. package/templates/web/src/env.ts.tmpl +5 -11
  43. package/templates/web/vite.config.ts.tmpl +6 -4
  44. package/templates/tool/src/tools/WeatherTool.ts +0 -25
  45. package/templates/tool/vercel.json +0 -7
package/README.md CHANGED
@@ -1,100 +1,105 @@
1
- # @vertesia/create-agent
1
+ # @vertesia/create-plugin
2
2
 
3
- This package is scaffolding a vertesia agent project.
4
- Vertesia agents are used to deploy custom workflows to Vertesia cloud.
3
+ This package scaffolds Vertesia plugin projects. Use it to create either:
5
4
 
6
- Visit https://vertesiahq.com for more information about Vertesia.
5
+ - **Web Application Plugins**: React-based web applications that extend Vertesia Studio
6
+ - **Agent Tool Server**: Custom agent tools accessible via API endpoints
7
7
 
8
- ## Requirements:
9
- 1. docker (with buildx support) installed locally.
10
- 2. vertesia CLI application. The CLI will be automatically installed when initializing the agent project if you didn't installed it previously.
8
+ Visit <https://vertesiahq.com> for more information about Vertesia.
11
9
 
12
- ## Initialize a Vertesia agent project
10
+ ## What Can You Create?
13
11
 
14
- Run the command line command:
12
+ ### Web Application Plugin (UI Extensions)
15
13
 
16
- ```
17
- npm init @vertesia/agent
18
- ```
19
-
20
- Follow the instructions on screen. You need to define an organization and a name for your agent. The organization must be unique inside Vertesia and is usually the name of your Vertesia organization account. The agent name is identifying the project in your organization.
14
+ Vertesia web plugins are React-based web application that can be embedded into the Vertesia Studio interface. They allow you to create custom user experiences focused on specific use cases and business processes, while seamlessly leveraging all the vertesia platform features.
21
15
 
22
- The generated project is a typescript project and is using [Temporal](https://temporal.io/) as the workflow system.
16
+ ### Agent Tool Server
23
17
 
24
- You can implement your own workflows and activities anywhere in the src/ directory or even in a dependency project. The only requirement is that you need to export the workflows and the activities from the `src/workflow.ts` and `src/activities.ts` files.
25
- These generated files are containing a "Hello world!" workflow and activity as an example that you should remove and export your own definitions.
18
+ An Agent Tool Server extends the capabilities of AI agents in Vertesia. It allows you to:
26
19
 
20
+ - Create custom tools that agents can use
21
+ - Integrate with external APIs and services
22
+ - Organize tools into logical collections
23
+ - Expose tools via REST API endpoints
24
+ - Support authentication and context-aware execution
27
25
 
28
- ## Developing your agent workflows / activities.
26
+ ## Prerequisites
29
27
 
30
- Export your temporal workflows `from src/workflows.ts` and your activities from `src/activities.ts`
28
+ Before creating a plugin project, you need:
31
29
 
32
- ## Test locally the workflows.
30
+ - Node.js and pnpm (or npm)
31
+ - Vertesia CLI
32
+ - An application manifest declared in Vertesia
33
33
 
34
- There are two ways to test the agent worker:
34
+ ### Declaring Your Web Application Plugin in Vertesia
35
35
 
36
- 1. Using `npm start`. This will start the worker in your terminal.
37
- 2. Using `vertesia agent run` from your project root. This will run the agent worker in side the docker image you previously built. See the [Build](build-the-agent-docker-image) section.
36
+ Before you can develop and integrate your web application plugin with Vertesia, you must declare an application manifest in the Vertesia platform using the Vertesia CLI.
38
37
 
39
- **Important Note:** All `vertesia agent` commands must be executed in the agent project root.
38
+ #### Install the Vertesia CLI
40
39
 
41
- ## Debugging locally the workflows.
40
+ If not already done, install the Vertesia CLI and create a profile:
42
41
 
43
- You can debug the workflows by replaying them locally using the temporal replayer that you can found in `src/debug-replayer.ts`.
44
-
45
- See https://docs.temporal.io/develop/typescript/debugging for more information
42
+ ```bash
43
+ npm install -g @vertesia/cli
44
+ vertesia profiles create
45
+ ```
46
46
 
47
- ## Packaging and publishing your Vertesia agent
47
+ ### Create the App Manifest
48
48
 
49
- When the workflows are working you will want to publish the agent to Vertesia.
50
- The agent should be packaged as a docker image and then published to the Vertesia cloud.
49
+ Create the app manifest using the Vertesia CLI:
51
50
 
52
- ### Build the agent docker image
51
+ ```bash
52
+ vertesia apps create --manifest '{
53
+ "name": "my-app",
54
+ "title": "My App",
55
+ "description": "A sample app",
56
+ "publisher": "your-org",
57
+ "private": true,
58
+ "status": "beta"
59
+ }' --install
60
+ ```
53
61
 
54
- When you are ready to test the agent image you can built it using `vertesia agent build` from you project root.
62
+ The `--install` flag will automatically install the app and grant permissions to the creator.
55
63
 
56
- This will build a docker image tagged as `your-organization/your-agent-name:latest`.
57
- This image is only useable to test locally. You cannot push it to Vertesia.
64
+ **Important**: The `name` field from your manifest (e.g., `my-app`) is what you'll use as your plugin name in the next step.
58
65
 
59
- ### Releasing the agent docker image
66
+ ## Initialize a Plugin Project
60
67
 
61
- When you already to push your agent to Vertesia you must first create a version using the following command:
68
+ Run the initialization command:
62
69
 
63
- ```
64
- vertesia agent release <version>
70
+ ```bash
71
+ npm init @vertesia/plugin
72
+ # or
73
+ pnpm create @vertesia/plugin
65
74
  ```
66
75
 
67
- The version must be in the `major.minor.patch[-modifier]` format. \
68
- Examples: `1.0.0`, `1.0.0-rc1`.
76
+ You will be prompted to choose a template and provide configuration:
69
77
 
70
- This command is creating a new docker tag `your-organization/your-agent-name:version` from the `latest` image tag.
78
+ ### Prompts
71
79
 
72
- ### Publishing the agent docker image to Vertesia
80
+ 1. **Template type**: Choose between:
81
+ - **Web application plugin**: For UI extensions
82
+ - **Agent tool server**: For custom agent tools
83
+ 2. **Package manager**: Choose between npm or pnpm
84
+ 3. **Plugin name**: Use kebab-case (e.g., my-plugin or my-tools)
85
+ 4. **Plugin version**: Semantic version (e.g., 1.0.0)
86
+ 5. **Description**: Optional description of your plugin
73
87
 
74
- Versioned images (using the `release` command) can be published to Vertesia. This can be done using the following command:
88
+ ### Web Application Plugin Specific
75
89
 
76
- ```
77
- vertesia agent publish <version>
78
- ```
90
+ If you select the **Web application plugin** template, you'll also be asked:
79
91
 
80
- where the version is the version of the image tag you want to publish.
92
+ 1. **Isolation strategy**:
93
+ - **Shadow DOM**: Fully isolated plugin using Shadow DOM (recommended)
94
+ - **CSS-only isolation**: Lighter isolation using CSS scope, but may have style conflicts
81
95
 
82
- You can also only push the image to vertesia without deploying the agent by using the `--push-only` flag:
96
+ ## Working with Plugins
83
97
 
84
- ```
85
- vertesia agent publish <version> --push-only
86
- ```
87
-
88
- The you can deploy an agent that you previously uploaded to Vertesia by using the command:
89
-
90
- ```
91
- vertesia agent publish <version> --deploy-only
92
- ```
98
+ After creating your project, see the README file in the generated project for comprehensive development instructions.
93
99
 
94
- ## Managing agent versions
100
+ ## Support
95
101
 
96
- You can see the docker image versions you created using the following command:
102
+ For issues, questions, or feature requests:
97
103
 
98
- ```
99
- vertesia agent versions
100
- ```
104
+ - [GitHub Issues](https://github.com/vertesia/composableai/issues)
105
+ - [Documentation](https://docs.vertesiahq.com/)
package/lib/Package.d.ts CHANGED
@@ -3,8 +3,8 @@ export interface PackageJson {
3
3
  version: string;
4
4
  description: string;
5
5
  type: string;
6
- types: string;
7
- main: string;
6
+ types?: string;
7
+ main?: string;
8
8
  files?: string[];
9
9
  module?: string;
10
10
  license?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Package.d.ts","sourceRoot":"","sources":["../src/Package.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;KACxD,CAAC;CACL;AAGD,qBAAa,OAAO;IACG,IAAI,EAAE,WAAW;IAAS,IAAI,CAAC,EAAE,MAAM;gBAAvC,IAAI,EAAE,WAAW,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;IAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAK5B,IAAI,IAAI,IAIO,MAAM,CAFpB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAEpB;IAED,IAAI,OAAO,IAIU,MAAM,CAF1B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,WAAW,IAIc,MAAM,CAFlC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED,IAAI,OAAO,IAKU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAF1C;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI;IAMJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,MAAM,IAAI,WAAW;CAGxB"}
1
+ {"version":3,"file":"Package.d.ts","sourceRoot":"","sources":["../src/Package.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;KACxD,CAAC;CACL;AAGD,qBAAa,OAAO;IACG,IAAI,EAAE,WAAW;IAAS,IAAI,CAAC,EAAE,MAAM;gBAAvC,IAAI,EAAE,WAAW,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;IAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAK5B,IAAI,IAAI,IAIO,MAAM,CAFpB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAEpB;IAED,IAAI,OAAO,IAIU,MAAM,CAF1B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,WAAW,IAIc,MAAM,CAFlC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED,IAAI,OAAO,IAKU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAF1C;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI;IAMJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,MAAM,IAAI,WAAW;CAGxB"}
@@ -1,11 +1,12 @@
1
1
  import { PackageJson } from "./Package.js";
2
+ import { TemplateType } from "./types.js";
2
3
  export interface UserOptions {
3
4
  pm: "npm" | "pnpm";
4
5
  plugin_name: string;
5
6
  plugin_version: string;
6
7
  plugin_description?: string;
7
8
  isolation: "shadow" | "css";
8
- template: string;
9
+ template: TemplateType;
9
10
  }
10
11
  export declare abstract class TemplateInit {
11
12
  options: UserOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateInit.d.ts","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,8BAAsB,YAAY;IAEX,OAAO,EAAE,WAAW;IADvC,UAAU,EAAE,UAAU,CAAC;gBACJ,OAAO,EAAE,WAAW;IAGvC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAEtC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAEvC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEvC,WAAW;CAMd;AAED,qBAAa,UAAU;IAIA,KAAK,EAAE,MAAM;IAHhC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;gBACG,KAAK,EAAE,MAAM;IAchC,IAAI,KAAK,WAKR;IACD,IAAI,UAAU,WAEb;CACJ"}
1
+ {"version":3,"file":"TemplateInit.d.ts","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;CAC1B;AAED,8BAAsB,YAAY;IAEX,OAAO,EAAE,WAAW;IADvC,UAAU,EAAE,UAAU,CAAC;gBACJ,OAAO,EAAE,WAAW;IAGvC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAEtC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAEvC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEvC,WAAW;CAMd;AAED,qBAAa,UAAU;IAIA,KAAK,EAAE,MAAM;IAHhC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;gBACG,KAAK,EAAE,MAAM;IAchC,IAAI,KAAK,WAKR;IACD,IAAI,UAAU,WAEb;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateInit.js","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAYvE,MAAM,OAAgB,YAAY;IAEX;IADnB,UAAU,CAAa;IACvB,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IASD,WAAW;QACP,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IAIA;IAHnB,KAAK,CAAU;IACf,IAAI,CAAS;IACb,MAAM,CAAU;IAChB,YAAmB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QAC1B,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;CACJ"}
1
+ {"version":3,"file":"TemplateInit.js","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAavE,MAAM,OAAgB,YAAY;IAEX;IADnB,UAAU,CAAa;IACvB,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IASD,WAAW;QACP,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IAIA;IAHnB,KAAK,CAAU;IACf,IAAI,CAAS;IACb,MAAM,CAAU;IAChB,YAAmB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QAC1B,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolTemplateInit.d.ts","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,gBAAiB,SAAQ,YAAY;gBAClC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM9B,cAAc,IAAI,WAAW;IAmB7B,kBAAkB,IAAI,MAAM,EAAE;IAU9B,sBAAsB,IAAI,MAAM,EAAE;CASrC"}
1
+ {"version":3,"file":"ToolTemplateInit.d.ts","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,gBAAiB,SAAQ,YAAY;gBAClC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM9B,cAAc,IAAI,WAAW;IAsB7B,kBAAkB,IAAI,MAAM,EAAE;IAiB9B,sBAAsB,IAAI,MAAM,EAAE;CAYrC"}
@@ -19,26 +19,39 @@ export class ToolTemplateInit extends TemplateInit {
19
19
  "lib"
20
20
  ],
21
21
  scripts: {
22
- "dev": "vite",
23
- "build": "tsc",
22
+ "dev": "vite --port 5174",
23
+ "build": "vite build && pnpm exec rollup -c",
24
+ "test": "vitest",
25
+ "test:ui": "vitest --ui",
26
+ "test:coverage": "vitest --coverage",
24
27
  }
25
28
  };
26
29
  }
27
30
  getDevDependencies() {
28
31
  return [
29
32
  "@hono/vite-dev-server",
33
+ "@rollup/plugin-commonjs",
34
+ "@rollup/plugin-json",
35
+ "@rollup/plugin-node-resolve",
30
36
  "@types/node",
37
+ "@vitest/coverage-v8",
31
38
  "esbuild",
39
+ "rollup",
40
+ "rollup-plugin-terser",
32
41
  "typescript",
33
42
  "vite",
43
+ "vitest",
34
44
  ];
35
45
  }
36
46
  getRuntimeDependencies() {
37
47
  return [
38
- "@vertesia/agent-sdk",
48
+ "@hono/node-server",
39
49
  "@vertesia/client",
40
50
  "@vertesia/common",
41
- "hono"
51
+ "@vertesia/tools-sdk",
52
+ "dotenv",
53
+ "hono",
54
+ "jose"
42
55
  ];
43
56
  }
44
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToolTemplateInit.js","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO,EAEN,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE;gBACH,KAAK;aACR;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,uBAAuB;YACvB,aAAa;YACb,SAAS;YACT,YAAY;YACZ,MAAM;SACT,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,qBAAqB;YACrB,kBAAkB;YAClB,kBAAkB;YAClB,MAAM;SACT,CAAA;IACL,CAAC;CAEJ"}
1
+ {"version":3,"file":"ToolTemplateInit.js","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO,EAEN,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE;gBACH,KAAK;aACR;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,mCAAmC;gBAC5C,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,aAAa;gBACxB,eAAe,EAAE,mBAAmB;aACvC;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,uBAAuB;YACvB,yBAAyB;YACzB,qBAAqB;YACrB,6BAA6B;YAC7B,aAAa;YACb,qBAAqB;YACrB,SAAS;YACT,QAAQ;YACR,sBAAsB;YACtB,YAAY;YACZ,MAAM;YACN,QAAQ;SACX,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,mBAAmB;YACnB,kBAAkB;YAClB,kBAAkB;YAClB,qBAAqB;YACrB,QAAQ;YACR,MAAM;YACN,MAAM;SACT,CAAA;IACL,CAAC;CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebTemplateInit.d.ts","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ9B,cAAc,IAAI,WAAW;IAkC7B,kBAAkB,IAAI,MAAM,EAAE;IAyB9B,sBAAsB,IAAI,MAAM,EAAE;CAOrC"}
1
+ {"version":3,"file":"WebTemplateInit.d.ts","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ9B,cAAc,IAAI,WAAW;IAyB7B,kBAAkB,IAAI,MAAM,EAAE;IAyB9B,sBAAsB,IAAI,MAAM,EAAE;CAOrC"}
@@ -17,9 +17,6 @@ export class WebTemplateInit extends TemplateInit {
17
17
  version: answer.plugin_version || '1.0.0',
18
18
  description: answer.plugin_description || '',
19
19
  type: 'module',
20
- main: `dist/${answer.plugin_name}.js`,
21
- module: `dist/${answer.plugin_name}.js`,
22
- types: "dist/index.d.ts",
23
20
  files: [
24
21
  "dist"
25
22
  ],
@@ -35,12 +32,6 @@ export class WebTemplateInit extends TemplateInit {
35
32
  "react": "^19.0.0",
36
33
  "react-dom": "^19.0.0"
37
34
  },
38
- plugin: {
39
- title: this.pluginName.title,
40
- publisher: this.pluginName.scope || "vertesia",
41
- external: false,
42
- status: "beta",
43
- }
44
35
  };
45
36
  }
46
37
  getDevDependencies() {
@@ -1 +1 @@
1
- {"version":3,"file":"WebTemplateInit.js","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YACnC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ;YACtD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;SAC9C,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ,MAAM,CAAC,WAAW,KAAK;YACrC,MAAM,EAAE,QAAQ,MAAM,CAAC,WAAW,KAAK;YACvC,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE;gBACH,MAAM;aACT;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE,gDAAgD;gBACzD,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,cAAc;aAC5B;YACD,gBAAgB,EAAE;gBACd,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,SAAS;aACzB;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU;gBAC9C,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,MAAM;aACjB;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,YAAY;YACZ,0BAA0B;YAC1B,0BAA0B;YAC1B,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,aAAa;YACb,cAAc;YACd,kBAAkB;YAClB,QAAQ;YACR,2BAA2B;YAC3B,6BAA6B;YAC7B,SAAS;YACT,OAAO;YACP,WAAW;YACX,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,MAAM;YACN,0BAA0B;SAC7B,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,kBAAkB;YAClB,cAAc;SACjB,CAAA;IACL,CAAC;CAEJ"}
1
+ {"version":3,"file":"WebTemplateInit.js","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YACnC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ;YACtD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;SAC9C,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;gBACH,MAAM;aACT;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE,gDAAgD;gBACzD,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,cAAc;aAC5B;YACD,gBAAgB,EAAE;gBACd,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,SAAS;aACzB;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,YAAY;YACZ,0BAA0B;YAC1B,0BAA0B;YAC1B,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,aAAa;YACb,cAAc;YACd,kBAAkB;YAClB,QAAQ;YACR,2BAA2B;YAC3B,6BAA6B;YAC7B,SAAS;YACT,OAAO;YACP,WAAW;YACX,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,MAAM;YACN,0BAA0B;SAC7B,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,kBAAkB;YAClB,cAAc;SACjB,CAAA;IACL,CAAC;CAEJ"}
package/lib/copy.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @param sourceDir - The path to the source directory.
5
5
  * @param targetDir - The path to the target directory.
6
- * @param templateSuffix - Optional suffix to remvoe from file name after copying. Ex: .template, .tmpl
6
+ * @param templateSuffix - Optional suffix to remove from file name after copying. Ex: .template, .tmpl
7
7
  */
8
8
  export declare function copyTree(sourceDir: string, targetDir: string, template?: {
9
9
  suffix?: string;
package/lib/copy.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB"}
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsChB"}
package/lib/copy.js CHANGED
@@ -6,7 +6,7 @@ import { processVarsInFile } from "./template.js";
6
6
  *
7
7
  * @param sourceDir - The path to the source directory.
8
8
  * @param targetDir - The path to the target directory.
9
- * @param templateSuffix - Optional suffix to remvoe from file name after copying. Ex: .template, .tmpl
9
+ * @param templateSuffix - Optional suffix to remove from file name after copying. Ex: .template, .tmpl
10
10
  */
11
11
  export async function copyTree(sourceDir, targetDir, template) {
12
12
  // Optimize by using a queue to avoid deep recursion and potential stack overflows
@@ -19,7 +19,11 @@ export async function copyTree(sourceDir, targetDir, template) {
19
19
  const items = await fs.readdir(source, { withFileTypes: true });
20
20
  for (const item of items) {
21
21
  const isTemplate = template?.suffix ? item.name.endsWith(template.suffix) : false;
22
- const targetName = isTemplate ? item.name.slice(0, -template.suffix.length) : item.name;
22
+ let targetName = isTemplate ? item.name.slice(0, -template.suffix.length) : item.name;
23
+ // Rename gitignore to .gitignore (npm excludes .gitignore from published packages)
24
+ if (targetName === 'gitignore') {
25
+ targetName = '.gitignore';
26
+ }
23
27
  const sourcePath = join(source, item.name);
24
28
  const targetPath = join(target, targetName);
25
29
  console.log('Generating', targetPath);
package/lib/copy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAGpE;IACG,kFAAkF;IAClF,MAAM,KAAK,GAAyC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAExC,qCAAqC;QACrC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClF,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAS,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChD,6BAA6B;gBAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACb,iCAAiC;oBACjC,iBAAiB,CAAC,UAAU,EAAE,QAAS,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAGpE;IACG,kFAAkF;IAClF,MAAM,KAAK,GAAyC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAExC,qCAAqC;QACrC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClF,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAS,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxF,mFAAmF;YACnF,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC7B,UAAU,GAAG,YAAY,CAAC;YAC9B,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChD,6BAA6B;gBAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACb,iCAAiC;oBACjC,iBAAiB,CAAC,UAAU,EAAE,QAAS,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
package/lib/init.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAcA,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,iBAkGtD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAcA,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,iBAkHtD"}
package/lib/init.js CHANGED
@@ -1,78 +1,95 @@
1
- import enquirer from "enquirer";
2
- import { mkdirSync } from "node:fs";
3
- import { join, resolve } from "node:path";
4
- import { chdir } from "node:process";
5
- import { fileURLToPath } from "node:url";
6
- import { copyTree } from "./copy.js";
7
- import { hasBin } from "./hasBin.js";
8
- import { Package } from "./Package.js";
9
- //import { ToolTemplateInit } from "./ToolTemplateInit.js";
10
- import { WebTemplateInit } from "./WebTemplateInit.js";
1
+ import enquirer from 'enquirer';
2
+ import { mkdirSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import { chdir } from 'node:process';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { copyTree } from './copy.js';
7
+ import { hasBin } from './hasBin.js';
8
+ import { Package } from './Package.js';
9
+ import { ToolTemplateInit } from './ToolTemplateInit.js';
10
+ import { WebTemplateInit } from './WebTemplateInit.js';
11
+ import { TemplateType, getTemplateDisplayName } from './types.js';
11
12
  const { prompt } = enquirer;
12
13
  export async function init(dirName) {
13
- let initialPm = "npm";
14
+ let initialPm = 'npm';
14
15
  const currentPmPath = process.env.npm_execpath;
15
16
  if (!currentPmPath) {
16
- initialPm = await hasBin("pnpm") ? "pnpm" : "npm";
17
+ initialPm = (await hasBin('pnpm')) ? 'pnpm' : 'npm';
17
18
  }
18
- else if (currentPmPath.endsWith("pnpm")) {
19
- initialPm = "pnpm";
19
+ else if (currentPmPath.endsWith('pnpm')) {
20
+ initialPm = 'pnpm';
20
21
  }
21
- else if (currentPmPath.endsWith("yarn")) {
22
- initialPm = "yarn";
22
+ else if (currentPmPath.endsWith('yarn')) {
23
+ initialPm = 'yarn';
23
24
  }
24
- const pms = ["npm", "pnpm"];
25
- const answer = await prompt([{
25
+ const pms = ['npm', 'pnpm'];
26
+ const answer = await prompt([
27
+ {
28
+ name: 'template',
29
+ type: 'select',
30
+ message: 'Template to use',
31
+ initial: 0,
32
+ choices: [
33
+ { message: getTemplateDisplayName(TemplateType.WEB), name: TemplateType.WEB },
34
+ { message: getTemplateDisplayName(TemplateType.TOOL), name: TemplateType.TOOL },
35
+ ],
36
+ },
37
+ {
26
38
  name: 'pm',
27
39
  type: 'select',
28
- message: "Which package manager to use?",
40
+ message: 'Which package manager to use?',
29
41
  initial: pms.indexOf(initialPm),
30
42
  choices: pms,
31
- }, {
43
+ },
44
+ {
32
45
  name: 'plugin_name',
33
46
  type: 'input',
34
- message: "Plugin name (use kebab case, e.g. my-plugin)",
47
+ message: 'Plugin name (use kebab case, e.g. my-plugin)',
35
48
  required: true,
36
49
  validate: (input) => /[a-zA-Z_](-[a-zA-Z_0-9]+)*/g.test(input),
37
- }, {
50
+ },
51
+ {
38
52
  name: 'plugin_version',
39
53
  type: 'input',
40
- message: "PLugin version",
54
+ message: 'PLugin version',
41
55
  initial: '1.0.0',
42
56
  required: true,
43
57
  validate: (input) => /[\d]\.[\d].[\d](-[a-zA-Z0-9_]+)?/g.test(input),
44
- }, {
58
+ },
59
+ {
45
60
  name: 'plugin_description',
46
61
  type: 'input',
47
62
  required: false,
48
- message: "Package description",
63
+ message: 'Package description',
49
64
  initial: '',
50
65
  },
51
- {
52
- name: "isolation",
53
- type: "select",
54
- message: "Isolation strategy",
55
- initial: 0,
56
- choices: [
57
- { message: "Shadow DOM", name: "shadow", hint: "Shadow DOM will be used to fully isolate the plugin." },
58
- { message: "CSS-only isolation", name: "css", hint: "Injects Tailwind utilities into host DOM; not fully isolated. Lighter but may generate conflicts" }
59
- ]
60
- }
61
- // {
62
- // name: 'template',
63
- // type: 'select',
64
- // message: "Template to use",
65
- // initial: 0,
66
- // choices: [
67
- // { message: 'Web plugin', name: 'web' },
68
- // { message: 'Agent tool', name: 'tool' },
69
- // ]
70
- // },
71
66
  ]);
72
- //const templateName = answer.template;
73
- const templateName = "web";
74
- //const templateInit = templateName === 'web' ? new WebTemplateInit(answer) : new ToolTemplateInit(answer);
75
- const templateInit = new WebTemplateInit(answer);
67
+ // Add isolation question only for web template
68
+ if (answer.template === TemplateType.WEB) {
69
+ const isolationAnswer = await prompt([
70
+ {
71
+ name: 'isolation',
72
+ type: 'select',
73
+ message: 'Isolation strategy',
74
+ initial: 0,
75
+ choices: [
76
+ {
77
+ message: 'Shadow DOM',
78
+ name: 'shadow',
79
+ hint: 'Shadow DOM will be used to fully isolate the plugin.',
80
+ },
81
+ {
82
+ message: 'CSS-only isolation',
83
+ name: 'css',
84
+ hint: 'Injects Tailwind utilities into host DOM; not fully isolated. Lighter but may generate conflicts',
85
+ },
86
+ ],
87
+ },
88
+ ]);
89
+ answer.isolation = isolationAnswer.isolation;
90
+ }
91
+ const templateName = answer.template;
92
+ const templateInit = templateName === TemplateType.WEB ? new WebTemplateInit(answer) : new ToolTemplateInit(answer);
76
93
  const pluginName = templateInit.pluginName;
77
94
  let dir;
78
95
  if (!dirName) {
@@ -86,20 +103,20 @@ export async function init(dirName) {
86
103
  chdir(dir);
87
104
  const templateProps = {
88
105
  suffix: '.tmpl',
89
- context: templateInit.getVars()
106
+ context: templateInit.getVars(),
90
107
  };
91
108
  // copy template to current directory and process template files
92
109
  const templateDir = resolve(fileURLToPath(import.meta.url), '../../templates');
93
- if (templateName === 'web') {
94
- await copyTree(join(templateDir, "web"), dir, templateProps);
110
+ if (templateName === TemplateType.WEB) {
111
+ await copyTree(join(templateDir, TemplateType.WEB), dir, templateProps);
95
112
  }
96
- else if (answer.template === 'tool') {
97
- await copyTree(join(templateDir, "tool"), dir, templateProps);
113
+ else if (templateName === TemplateType.TOOL) {
114
+ await copyTree(join(templateDir, TemplateType.TOOL), dir, templateProps);
98
115
  }
99
116
  else {
100
- throw new Error("Invalid template type");
117
+ throw new Error(`Invalid template type: ${templateName}`);
101
118
  }
102
- console.log("Generating package.json");
119
+ console.log('Generating package.json');
103
120
  const pkg = new Package(templateInit.getPackageJson());
104
121
  pkg.saveTo(`${dir}/package.json`);
105
122
  templateInit.installDeps();
package/lib/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Template types available for plugin creation
3
+ */
4
+ export declare enum TemplateType {
5
+ WEB = "web",
6
+ TOOL = "tool"
7
+ }
8
+ /**
9
+ * Get display name for template type
10
+ */
11
+ export declare function getTemplateDisplayName(type: TemplateType): string;
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IACpB,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAOjE"}
package/lib/types.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Template types available for plugin creation
3
+ */
4
+ export var TemplateType;
5
+ (function (TemplateType) {
6
+ TemplateType["WEB"] = "web";
7
+ TemplateType["TOOL"] = "tool";
8
+ })(TemplateType || (TemplateType = {}));
9
+ /**
10
+ * Get display name for template type
11
+ */
12
+ export function getTemplateDisplayName(type) {
13
+ switch (type) {
14
+ case TemplateType.WEB:
15
+ return 'Web Application Plugin';
16
+ case TemplateType.TOOL:
17
+ return 'Agent Tool Server';
18
+ }
19
+ }
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,6BAAa,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,YAAY,CAAC,GAAG;YACjB,OAAO,wBAAwB,CAAC;QACpC,KAAK,YAAY,CAAC,IAAI;YAClB,OAAO,mBAAmB,CAAC;IACnC,CAAC;AACL,CAAC"}