dealdesk-plugin 0.0.0-stage → 0.1.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/.agents/plugins/marketplace.json +24 -0
- package/.claude-plugin/marketplace.json +29 -0
- package/.claude-plugin/plugin.json +18 -0
- package/.codex-plugin/plugin.json +30 -0
- package/.cursor-plugin/marketplace.json +29 -0
- package/.cursor-plugin/mcp.json +11 -0
- package/.cursor-plugin/plugin.json +18 -0
- package/.mcp.json +8 -0
- package/AGENTS.md +13 -0
- package/LICENSE +21 -0
- package/README.md +124 -3
- package/assets/logo-animated.svg +50 -0
- package/assets/logo.svg +8 -0
- package/bin/dealdesk-plugin.js +717 -0
- package/commands/dealdesk-craft-quote.md +15 -0
- package/commands/dealdesk-create-card.md +14 -0
- package/commands/dealdesk-directory-activity.md +12 -0
- package/commands/dealdesk-evaluate-configuration.md +10 -0
- package/commands/dealdesk-export-analysis.md +10 -0
- package/commands/dealdesk-find-or-create-customer.md +12 -0
- package/commands/dealdesk-help.md +62 -0
- package/commands/dealdesk-log-card-activity.md +13 -0
- package/commands/dealdesk-publish-portfolio.md +13 -0
- package/commands/dealdesk-quote-from-portfolio.md +12 -0
- package/commands/dealdesk-share-quote.md +13 -0
- package/mcp.json +9 -0
- package/package.json +59 -6
- package/plugin.json +36 -0
- package/scripts/bump-version.js +56 -0
- package/scripts/package-plugin-zip.js +130 -0
- package/scripts/test-project-scope.js +29 -0
- package/scripts/validate-npm-release.js +23 -0
- package/scripts/validate-skills.js +56 -0
- package/scripts/version-files.js +10 -0
- package/scripts/zip-archive.js +139 -0
- package/skills/README.md +30 -0
- package/skills/dealdesk-craft-quote/SKILL.md +21 -0
- package/skills/dealdesk-create-card/SKILL.md +59 -0
- package/skills/dealdesk-directory-activity/SKILL.md +14 -0
- package/skills/dealdesk-evaluate-configuration/SKILL.md +10 -0
- package/skills/dealdesk-export-analysis/SKILL.md +11 -0
- package/skills/dealdesk-find-or-create-customer/SKILL.md +14 -0
- package/skills/dealdesk-help/SKILL.md +63 -0
- package/skills/dealdesk-log-card-activity/SKILL.md +36 -0
- package/skills/dealdesk-manage-cases/SKILL.md +29 -0
- package/skills/dealdesk-manage-orders/SKILL.md +12 -0
- package/skills/dealdesk-portfolio-browse/SKILL.md +12 -0
- package/skills/dealdesk-publish-portfolio/SKILL.md +16 -0
- package/skills/dealdesk-quote-from-portfolio/SKILL.md +15 -0
- package/skills/dealdesk-share-quote/SKILL.md +16 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agenthouse",
|
|
3
|
+
"interface": {
|
|
4
|
+
"displayName": "agenthouse"
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "dealdesk",
|
|
9
|
+
"source": {
|
|
10
|
+
"source": "local",
|
|
11
|
+
"path": "./"
|
|
12
|
+
},
|
|
13
|
+
"policy": {
|
|
14
|
+
"installation": "AVAILABLE",
|
|
15
|
+
"authentication": "ON_USE"
|
|
16
|
+
},
|
|
17
|
+
"category": "Productivity",
|
|
18
|
+
"logo": "assets/logo.svg",
|
|
19
|
+
"interface": {
|
|
20
|
+
"displayName": "DealDesk"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agenthouse",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "agenthouse",
|
|
5
|
+
"url": "https://agenthouse.org"
|
|
6
|
+
},
|
|
7
|
+
"metadata": {
|
|
8
|
+
"description": "agenthouse plugins",
|
|
9
|
+
"version": "0.1.0"
|
|
10
|
+
},
|
|
11
|
+
"plugins": [
|
|
12
|
+
{
|
|
13
|
+
"name": "dealdesk",
|
|
14
|
+
"source": "./",
|
|
15
|
+
"description": "Desk cards, quotes, customers, and portfolio publish on agenthouse.",
|
|
16
|
+
"version": "0.1.0",
|
|
17
|
+
"author": {
|
|
18
|
+
"name": "agenthouse",
|
|
19
|
+
"url": "https://agenthouse.org"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://agenthouse.org",
|
|
22
|
+
"repository": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"keywords": ["dealdesk", "agenthouse", "mcp"],
|
|
25
|
+
"category": "productivity",
|
|
26
|
+
"logo": "assets/logo.svg"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dealdesk",
|
|
3
|
+
"displayName": "DealDesk",
|
|
4
|
+
"version": "0.1.1",
|
|
5
|
+
"description": "DealDesk skills and MCP tools for desk cards, email logs, quotes, customers, and portfolio publish.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "agenthouse",
|
|
8
|
+
"url": "https://agenthouse.org"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://agenthouse.org",
|
|
11
|
+
"repository": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"keywords": ["agenthouse", "dealdesk", "mcp", "quotes"],
|
|
14
|
+
"logo": "assets/logo.svg",
|
|
15
|
+
"skills": "./skills/",
|
|
16
|
+
"commands": "./commands/",
|
|
17
|
+
"mcpServers": "./.mcp.json"
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dealdesk",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "DealDesk skills and MCP tools for desk cards, email logs, quotes, customers, and portfolio publish.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "agenthouse",
|
|
7
|
+
"url": "https://agenthouse.org"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://agenthouse.org",
|
|
10
|
+
"repository": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": ["agenthouse", "dealdesk", "mcp", "quotes"],
|
|
13
|
+
"logo": "assets/logo.svg",
|
|
14
|
+
"skills": "./skills/",
|
|
15
|
+
"mcpServers": "./mcp.json",
|
|
16
|
+
"interface": {
|
|
17
|
+
"displayName": "DealDesk",
|
|
18
|
+
"shortDescription": "Desk cards, quotes, customers, and portfolio publish on agenthouse.",
|
|
19
|
+
"longDescription": "Operate DealDesk from ChatGPT or Codex. Tools run on the agenthouse MCP endpoint. Delete is not available.",
|
|
20
|
+
"developerName": "agenthouse",
|
|
21
|
+
"category": "Productivity",
|
|
22
|
+
"capabilities": ["Read", "Write"],
|
|
23
|
+
"websiteURL": "https://agenthouse.org",
|
|
24
|
+
"privacyPolicyURL": "https://agenthouse.org/privacy/",
|
|
25
|
+
"defaultPrompt": [
|
|
26
|
+
"List open DealDesk cards for my project.",
|
|
27
|
+
"Log this inbound email on the matching desk card."
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agenthouse",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "agenthouse",
|
|
5
|
+
"url": "https://agenthouse.org"
|
|
6
|
+
},
|
|
7
|
+
"metadata": {
|
|
8
|
+
"description": "agenthouse plugins",
|
|
9
|
+
"version": "0.1.0"
|
|
10
|
+
},
|
|
11
|
+
"plugins": [
|
|
12
|
+
{
|
|
13
|
+
"name": "dealdesk",
|
|
14
|
+
"source": "./",
|
|
15
|
+
"description": "Desk cards, quotes, customers, and portfolio publish on agenthouse.",
|
|
16
|
+
"version": "0.1.0",
|
|
17
|
+
"author": {
|
|
18
|
+
"name": "agenthouse",
|
|
19
|
+
"url": "https://agenthouse.org"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://agenthouse.org",
|
|
22
|
+
"repository": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"keywords": ["dealdesk", "agenthouse", "mcp", "quotes"],
|
|
25
|
+
"category": "Productivity",
|
|
26
|
+
"logo": "assets/logo.svg"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dealdesk",
|
|
3
|
+
"displayName": "DealDesk",
|
|
4
|
+
"version": "0.1.1",
|
|
5
|
+
"description": "DealDesk skills and slash commands. Install opens the agenthouse sign-in page so you can choose a project and grant access.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "agenthouse",
|
|
8
|
+
"url": "https://agenthouse.org"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
11
|
+
"repository": "https://github.com/agenthouse-org/dealdesk-plugin",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"keywords": ["agenthouse", "dealdesk", "mcp", "quotes"],
|
|
14
|
+
"logo": "assets/logo.svg",
|
|
15
|
+
"skills": "./skills/",
|
|
16
|
+
"commands": "./commands/",
|
|
17
|
+
"mcpServers": "./.cursor-plugin/mcp.json"
|
|
18
|
+
}
|
package/.mcp.json
ADDED
package/AGENTS.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in the DealDesk plugin.
|
|
4
|
+
|
|
5
|
+
This repository is the customer-facing plugin for DealDesk on agenthouse (skills + local MCP bridge). Please keep documentation and package metadata professional and suitable for end users: clear install steps, no internal implementation paths, and no references to private issue trackers.
|
|
6
|
+
|
|
7
|
+
The tool runtime lives on agenthouse at `POST /mcp/dealdesk`. Keep shipped skills aligned with that catalog.
|
|
8
|
+
|
|
9
|
+
**AI agents helping a user install:** follow [install-for-agents.md](./install-for-agents.md).
|
|
10
|
+
|
|
11
|
+
Report bugs and feature requests via [GitHub Issues](https://github.com/agenthouse-org/dealdesk-plugin/issues).
|
|
12
|
+
|
|
13
|
+
For product questions, contact your agenthouse representative or visit [agenthouse.org](https://agenthouse.org).
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Neri GmbH
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,124 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# DealDesk plugin for agenthouse
|
|
2
|
+
|
|
3
|
+
Install **DealDesk** in ChatGPT, Claude, Cursor, or Codex — create and update desk cards, log email and status updates, work with quotes and the product portfolio, look up customers, and export for analysis.
|
|
4
|
+
|
|
5
|
+
Brought to you by [agenthouse](https://agenthouse.org).
|
|
6
|
+
|
|
7
|
+
This repository is the **DealDesk plugin**: marketplace-oriented packaging (skills + install docs) with a local stdio bridge. Tools run over the agenthouse **MCP** endpoint (`POST /mcp/dealdesk`). Host marketplaces (ChatGPT/Codex Plugins, Claude plugins, Cursor plugins) can list this package while the remote MCP URL remains the shared runtime.
|
|
8
|
+
|
|
9
|
+
## For AI agents
|
|
10
|
+
|
|
11
|
+
If you are an AI assistant helping someone install DealDesk, follow **[install-for-agents.md](./install-for-agents.md)** (decision tree, host-specific steps, verify, troubleshooting). Do not improvise package names or MCP URLs.
|
|
12
|
+
|
|
13
|
+
## What you can do
|
|
14
|
+
|
|
15
|
+
- Create and update desk cards, including notes and stage changes
|
|
16
|
+
- Log inbound/outbound email and other status updates on a card timeline
|
|
17
|
+
- Evaluate configurations and create quotes from your published portfolio
|
|
18
|
+
- Find or create companies and contacts, and read their notes and commercial summaries
|
|
19
|
+
- Craft classic quotes, customer share links, local cases, and orders from accepted quotes
|
|
20
|
+
- Export Deal Intelligence workbooks for offline analysis
|
|
21
|
+
- Preview and confirm portfolio publish (with an explicit confirmation step)
|
|
22
|
+
|
|
23
|
+
Destructive delete operations are not available. Soft-close cards by updating their stage instead.
|
|
24
|
+
|
|
25
|
+
## Customer data responsibility
|
|
26
|
+
|
|
27
|
+
**Warning:** DealDesk tools can return customer and deal data to the AI host you connect, to that host's model providers, and to any other tools available in the same conversation. By installing or connecting this plugin you acknowledge that **you** are responsible for which hosts, models, and tools you authorize and for lawful handling of that data. agenthouse does not control third-party AI hosts or tools you enable alongside DealDesk.
|
|
28
|
+
|
|
29
|
+
## Before you start
|
|
30
|
+
|
|
31
|
+
You need an **agenthouse** account with DealDesk on your project.
|
|
32
|
+
|
|
33
|
+
Sign-in is **Connect (OAuth)**. A browser opens the agenthouse page; you sign in, select one or more projects, and grant DealDesk access. There is no API key to copy. If you authorize one project, tools use that project. If you authorize several, pass `projectId` on each tool call.
|
|
34
|
+
|
|
35
|
+
Use a project API key only for automation that cannot open a browser. Create one under **Access management → API keys** (`dealdesk:read`, or `dealdesk:access` for writes).
|
|
36
|
+
|
|
37
|
+
The local connector needs **Node.js 20+**.
|
|
38
|
+
|
|
39
|
+
## Install
|
|
40
|
+
|
|
41
|
+
### Connect — ChatGPT, Claude, Codex, Cursor
|
|
42
|
+
|
|
43
|
+
Install **DealDesk** from the host marketplace, or add a remote MCP server:
|
|
44
|
+
|
|
45
|
+
| Setting | Value |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| MCP URL | `https://api.agenthouse.org/mcp/dealdesk` |
|
|
48
|
+
| Authentication | OAuth (Connect) |
|
|
49
|
+
|
|
50
|
+
The Cursor plugin opens that same sign-in page after install. Nothing to paste.
|
|
51
|
+
|
|
52
|
+
### Plugin package
|
|
53
|
+
|
|
54
|
+
Each GitHub release attaches `dealdesk-plugin-x.y.z.zip`. That archive is the plugin itself: skills, commands, the local connector, and the ChatGPT, Claude, Cursor, and Codex manifests. It points at the same MCP URL. Sign-in is still Connect. ChatGPT can take this ZIP under **Plugins → Upload plugin**. Other hosts install the same archive, or the `dealdesk-plugin` npm package.
|
|
55
|
+
|
|
56
|
+
Commit the version in this repo, then publish a GitHub Release tagged `vX.Y.Z` (the tag must match `package.json`, for example `v0.1.0`). The **Publish to npm** workflow publishes `dealdesk-plugin` and attaches that plugin ZIP to the release. A prerelease is published to the npm `next` tag. A manual run of the workflow only checks the package.
|
|
57
|
+
|
|
58
|
+
On npm, set the trusted publisher for `dealdesk-plugin` to GitHub Actions, repository `agenthouse-org/dealdesk-plugin`, workflow file `publish.yml`, and allow `npm publish`. The package has to exist before that publisher can be saved. No npm token is stored in GitHub.
|
|
59
|
+
|
|
60
|
+
Directory review in the OpenAI portal also asks for a support URL, test cases, and a demo recording. Those are entered in the portal; they are not inside the ZIP.
|
|
61
|
+
|
|
62
|
+
### Local connector
|
|
63
|
+
|
|
64
|
+
Hosts that only accept a local command use this package. On first launch it opens the same Connect page and remembers the sign-in on this computer.
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"mcpServers": {
|
|
69
|
+
"dealdesk": {
|
|
70
|
+
"command": "npx",
|
|
71
|
+
"args": ["-y", "dealdesk-plugin"]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Claude Desktop uses the same block in `claude_desktop_config.json`.
|
|
78
|
+
|
|
79
|
+
### API key (automation only)
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"mcpServers": {
|
|
84
|
+
"dealdesk": {
|
|
85
|
+
"command": "npx",
|
|
86
|
+
"args": ["-y", "dealdesk-plugin"],
|
|
87
|
+
"env": {
|
|
88
|
+
"AGENTHOUSE_API_URL": "https://api.agenthouse.org",
|
|
89
|
+
"AGENTHOUSE_API_KEY": "ahk_your_project_api_key",
|
|
90
|
+
"AGENTHOUSE_PROJECT_ID": "YOUR_TENANT_ID"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
| Variable | Required | Description |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| `AGENTHOUSE_API_KEY` | For this path | Project API key from agenthouse Access management |
|
|
100
|
+
| `AGENTHOUSE_PROJECT_ID` | When you authorize several projects | Tenant id used when a tool call omits `projectId` |
|
|
101
|
+
| `AGENTHOUSE_API_URL` | No | Defaults to `https://api.agenthouse.org` |
|
|
102
|
+
|
|
103
|
+
Keep the API key private. Do not commit it or paste it into chat.
|
|
104
|
+
|
|
105
|
+
### Verify the connection
|
|
106
|
+
|
|
107
|
+
After install, ask your assistant something concrete, for example:
|
|
108
|
+
|
|
109
|
+
> List open DealDesk cards for my project.
|
|
110
|
+
|
|
111
|
+
You should see DealDesk tools available (such as listing cards or creating a quote from a configuration). If sign-in did not finish, complete the agenthouse page and ask again. For an API key, check that it has DealDesk permission for that project.
|
|
112
|
+
|
|
113
|
+
## Skills and slash commands
|
|
114
|
+
|
|
115
|
+
Guided skills live in [`skills/`](./skills/). Matching slash commands live in [`commands/`](./commands/): `/dealdesk-help`, `/dealdesk-create-card`, `/dealdesk-log-card-activity`, `/dealdesk-craft-quote`, `/dealdesk-quote-from-portfolio`, `/dealdesk-evaluate-configuration`, `/dealdesk-directory-activity`, `/dealdesk-find-or-create-customer`, `/dealdesk-share-quote`, `/dealdesk-export-analysis`, `/dealdesk-publish-portfolio`. Start with `/dealdesk-help` for an overview (the agent should call `dealdesk.list_skills` / `dealdesk.discover`). A host may prefix commands with the plugin name (for example `/dealdesk:dealdesk-log-card-activity`).
|
|
116
|
+
|
|
117
|
+
## Support
|
|
118
|
+
|
|
119
|
+
- Product and product docs: [agenthouse.org](https://agenthouse.org)
|
|
120
|
+
- Issues with this plugin: [GitHub Issues](https://github.com/agenthouse-org/dealdesk-plugin/issues)
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT © agenthouse
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-label="DealDesk">
|
|
2
|
+
<title>DealDesk</title>
|
|
3
|
+
<style>
|
|
4
|
+
.still{display:none}
|
|
5
|
+
@media (prefers-reduced-motion: reduce){.motion{display:none}.still{display:inline}}
|
|
6
|
+
</style>
|
|
7
|
+
<rect width="128" height="128" rx="28" fill="#090B09"/>
|
|
8
|
+
<g class="still">
|
|
9
|
+
<path fill="#F0F0F0" fill-rule="evenodd" d="M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z"/>
|
|
10
|
+
<path fill="#9EFF3D" d="M64 54 L74 64 L64 74 L54 64 Z"/>
|
|
11
|
+
</g>
|
|
12
|
+
<g class="motion" fill="#F0F0F0">
|
|
13
|
+
<path fill-rule="evenodd" d="M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z">
|
|
14
|
+
<animate attributeName="d" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.17;0.29;0.74;0.86;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z;M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z;M17 34.01 H25.45 C29.5 34.01 32.62 35.11 34.81 37.32 C36.99 39.53 38.08 42.67 38.08 46.75 C38.08 50.81 37.01 53.94 34.86 56.13 C32.71 58.33 29.65 59.43 25.66 59.43 H17 A0 0 0 0 1 17 59.43 V34.01 A0 0 0 0 1 17 34.01 Z M21.65 38.06 H25.45 C28.06 38.06 30.02 38.78 31.33 40.23 C32.63 41.68 33.29 43.85 33.29 46.75 C33.29 49.63 32.63 51.79 31.33 53.22 C30.02 54.66 28.06 55.38 25.45 55.38 H21.65 Z;M17 34.01 H25.45 C29.5 34.01 32.62 35.11 34.81 37.32 C36.99 39.53 38.08 42.67 38.08 46.75 C38.08 50.81 37.01 53.94 34.86 56.13 C32.71 58.33 29.65 59.43 25.66 59.43 H17 A0 0 0 0 1 17 59.43 V34.01 A0 0 0 0 1 17 34.01 Z M21.65 38.06 H25.45 C28.06 38.06 30.02 38.78 31.33 40.23 C32.63 41.68 33.29 43.85 33.29 46.75 C33.29 49.63 32.63 51.79 31.33 53.22 C30.02 54.66 28.06 55.38 25.45 55.38 H21.65 Z;M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z;M36 28 H64 C73.55 28 82.7 31.79 89.46 38.54 C96.21 45.3 100 54.45 100 64 C100 73.55 96.21 82.7 89.46 89.46 C82.7 96.21 73.55 100 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z M46 42 H64 C69.83 42 75.43 44.32 79.56 48.44 C83.68 52.57 86 58.17 86 64 C86 69.83 83.68 75.43 79.56 79.56 C75.43 83.68 69.83 86 64 86 H46 Z"/>
|
|
15
|
+
<animate attributeName="fill" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.19;0.29;0.74;0.83;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="#F0F0F0;#F0F0F0;#9EFF3D;#9EFF3D;#F0F0F0;#F0F0F0"/>
|
|
16
|
+
</path>
|
|
17
|
+
<path fill="#9EFF3D" d="M64 54 L74 64 L64 74 L54 64 Z">
|
|
18
|
+
<animate attributeName="d" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.17;0.29;0.74;0.86;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="M64 54 L74 64 L64 74 L54 64 Z;M64 54 L74 64 L64 74 L54 64 Z;M27.47 46.72 L27.47 46.72 L27.47 46.72 L27.47 46.72 Z;M27.47 46.72 L27.47 46.72 L27.47 46.72 L27.47 46.72 Z;M64 54 L74 64 L64 74 L54 64 Z;M64 54 L74 64 L64 74 L54 64 Z"/>
|
|
19
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.17;0.23;0.79;0.86;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="1;1;0;0;1;1"/>
|
|
20
|
+
</path>
|
|
21
|
+
<path fill="#9EFF3D" opacity="0" d="M60.78 59.43L43.38 59.43L43.38 34.01L60.49 34.01L60.49 38.06L48.04 38.06L48.04 44.68L60.06 44.68L60.06 48.69L48.04 48.69L48.04 55.38L60.78 55.38">
|
|
22
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.22;0.31;0.74;0.79;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
23
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.22;0.31;0.74;0.79;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
24
|
+
</path>
|
|
25
|
+
<path fill="#9EFF3D" opacity="0" d="M68.80 59.43L63.93 59.43L73.09 34.01L78.78 34.01L87.95 59.43L83.08 59.43L80.97 53.41L70.91 53.41L68.80 59.43M75.96 38.70L72.27 49.44L79.61 49.44">
|
|
26
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.25;0.33;0.72;0.77;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
27
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.25;0.33;0.72;0.77;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
28
|
+
</path>
|
|
29
|
+
<path fill="#9EFF3D" opacity="0" d="M108.32 59.43L91.60 59.43L91.60 34.01L96.25 34.01L96.25 55.38L108.32 55.38">
|
|
30
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.27;0.36;0.71;0.76;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
31
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.27;0.36;0.71;0.76;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
32
|
+
</path>
|
|
33
|
+
<path fill="#F0F0F0" opacity="0" fill-rule="evenodd" d="M17 68.57 H25.45 C29.5 68.57 32.62 69.68 34.81 71.89 C36.99 74.09 38.08 77.24 38.08 81.32 C38.08 85.37 37.01 88.5 34.86 90.7 C32.71 92.89 29.65 93.99 25.66 93.99 H17 A0 0 0 0 1 17 93.99 V68.57 A0 0 0 0 1 17 68.57 Z M21.65 72.62 H25.45 C28.06 72.62 30.02 73.34 31.33 74.79 C32.63 76.24 33.29 78.42 33.29 81.32 C33.29 84.19 32.63 86.35 31.33 87.79 C30.02 89.23 28.06 89.94 25.45 89.94 H21.65 Z">
|
|
34
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.25;0.33;0.72;0.77;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
35
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.25;0.33;0.72;0.77;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
36
|
+
</path>
|
|
37
|
+
<path fill="#F0F0F0" opacity="0" d="M60.78 93.99L43.38 93.99L43.38 68.57L60.49 68.57L60.49 72.62L48.04 72.62L48.04 79.24L60.06 79.24L60.06 83.25L48.04 83.25L48.04 89.94L60.78 89.94">
|
|
38
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.27;0.36;0.71;0.76;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
39
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.27;0.36;0.71;0.76;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
40
|
+
</path>
|
|
41
|
+
<path fill="#F0F0F0" opacity="0" d="M75.71 94.56Q72.56 94.56 70.26 93.45Q67.97 92.34 66.67 90.36Q65.36 88.37 65.15 85.72L69.87 85.43Q70.19 87.90 71.66 89.23Q73.13 90.55 75.78 90.55Q78.03 90.55 79.27 89.71Q80.50 88.87 80.50 87.26Q80.50 86.29 80.04 85.54Q79.57 84.79 78.25 84.15Q76.92 83.50 74.31 82.89Q71.16 82.18 69.26 81.26Q67.36 80.35 66.51 78.97Q65.65 77.60 65.65 75.52Q65.65 73.30 66.76 71.60Q67.87 69.90 69.91 68.95Q71.95 68 74.81 68Q77.85 68 79.98 69.09Q82.11 70.19 83.31 72.08Q84.51 73.98 84.80 76.45L80.11 76.66Q79.86 74.59 78.50 73.30Q77.14 72.01 74.74 72.01Q72.73 72.01 71.57 72.94Q70.41 73.87 70.41 75.34Q70.41 76.38 70.89 77.06Q71.37 77.74 72.63 78.24Q73.88 78.74 76.13 79.24Q79.54 79.99 81.54 81.09Q83.54 82.18 84.40 83.64Q85.26 85.11 85.26 87.01Q85.26 89.34 84.06 91.04Q82.86 92.74 80.73 93.65Q78.60 94.56 75.71 94.56">
|
|
42
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.29;0.38;0.69;0.74;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
43
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.29;0.38;0.69;0.74;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
44
|
+
</path>
|
|
45
|
+
<path fill="#F0F0F0" opacity="0" d="M94.93 93.99L90.27 93.99L90.27 68.57L94.93 68.57L94.93 80.17L104.88 68.57L110.39 68.57L100.87 79.74L111 93.99L105.67 93.99L97.79 82.93L94.93 86.19">
|
|
46
|
+
<animate attributeName="opacity" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.32;0.4;0.68;0.73;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="0;0;1;1;0;0"/>
|
|
47
|
+
<animateTransform attributeName="transform" type="translate" dur="7s" repeatCount="indefinite" calcMode="spline" keyTimes="0;0.32;0.4;0.68;0.73;1" keySplines=".16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1;.16 1 .3 1" values="-4 0;-4 0;0 0;0 0;-4 0;-4 0"/>
|
|
48
|
+
</path>
|
|
49
|
+
</g>
|
|
50
|
+
</svg>
|
package/assets/logo.svg
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-label="DealDesk">
|
|
2
|
+
<title>DealDesk</title>
|
|
3
|
+
<rect width="128" height="128" rx="28" fill="#090B09"/>
|
|
4
|
+
<path fill="#F0F0F0" fill-rule="evenodd" d="
|
|
5
|
+
M36 28 H64 A36 36 0 0 1 64 100 H36 A4 4 0 0 1 32 96 V32 A4 4 0 0 1 36 28 Z
|
|
6
|
+
M46 42 H64 A22 22 0 0 1 64 86 H46 Z"/>
|
|
7
|
+
<path fill="#9EFF3D" d="M64 54 L74 64 L64 74 L54 64 Z"/>
|
|
8
|
+
</svg>
|