@synap-core/workspace-templates 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -24
- package/capabilities/stripe.capability.json +1163 -87
- package/capabilities/unipile-linkedin.capability.json +30 -7
- package/dist/{define-CPS0n8BV.d.ts → define-DqoItRiR.d.ts} +40 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +159 -4
- package/dist/index.js.map +1 -1
- package/dist/wire.d.ts +1 -1
- package/package.json +3 -3
- package/skills/app-factory-design-review/SKILL.md +8 -2
- package/skills/design-critique/SKILL.md +3 -0
- package/src/catalog-safety.test.ts +1 -1
- package/src/content-os.template.test.ts +27 -0
- package/src/content-os.yaml +43 -0
- package/src/crm-messages-cadence.template.test.ts +83 -1
- package/src/crm.yaml +111 -4
- package/src/define.ts +16 -0
- package/src/reserved-profile-slugs.test.ts +8 -10
- package/src/retired-goal-kinds.test.ts +6 -12
- package/src/stripe-capability.test.ts +192 -0
- package/src/template-documents.test.ts +158 -0
- package/src/templates.ts +92 -4
- package/src/types.ts +32 -1
- package/src/unipile-linkedin-find-profile.test.ts +183 -0
- package/src/validate.ts +81 -0
- package/views/bookmark-views-pack.view.json +39 -0
- package/views/event-views-pack.view.json +45 -0
- package/views/task-views-pack.view.json +53 -0
- package/packs/bookmark-views-pack.json +0 -33
- package/packs/crm-pack.json +0 -76
- package/packs/customer-profile.json +0 -28
- package/packs/deep-research.playbook.json +0 -30
- package/packs/event-views-pack.json +0 -33
- package/packs/habit-profile.json +0 -27
- package/packs/hr-pack.json +0 -54
- package/packs/invoice-profile.json +0 -28
- package/packs/knowledge-base-pack.json +0 -56
- package/packs/meeting-profile.json +0 -29
- package/packs/product-profile.json +0 -30
- package/packs/project-management-pack.json +0 -49
- package/packs/recipe-profile.json +0 -29
- package/packs/task-views-pack.json +0 -39
package/packs/hr-pack.json
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "hr-pack",
|
|
4
|
-
"icon": "users",
|
|
5
|
-
"color": "#F59E0B",
|
|
6
|
-
"tags": ["hr", "team", "employees", "departments"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "team-member",
|
|
13
|
-
"displayName": "Team Member",
|
|
14
|
-
"icon": "user",
|
|
15
|
-
"color": "#F59E0B",
|
|
16
|
-
"description": "Team members and employees",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"parentProfileSlug": "person",
|
|
19
|
-
"properties": [
|
|
20
|
-
{ "slug": "role", "valueType": "string", "required": true, "label": "Role / Title" },
|
|
21
|
-
{ "slug": "department", "valueType": "string", "label": "Department" },
|
|
22
|
-
{ "slug": "start-date", "valueType": "date", "label": "Start Date" },
|
|
23
|
-
{ "slug": "location", "valueType": "string", "label": "Location" },
|
|
24
|
-
{ "slug": "skills", "valueType": "array", "label": "Skills" },
|
|
25
|
-
{ "slug": "status", "valueType": "string", "label": "Status", "inputType": "select", "enumValues": ["active", "on-leave", "offboarded"] }
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"slug": "department",
|
|
30
|
-
"displayName": "Department",
|
|
31
|
-
"icon": "building-2",
|
|
32
|
-
"color": "#6366F1",
|
|
33
|
-
"description": "Organizational departments and teams",
|
|
34
|
-
"scope": "workspace",
|
|
35
|
-
"properties": [
|
|
36
|
-
{ "slug": "head", "valueType": "string", "label": "Department Head" },
|
|
37
|
-
{ "slug": "headcount", "valueType": "number", "label": "Headcount", "constraints": { "min": 0 } },
|
|
38
|
-
{ "slug": "budget", "valueType": "number", "label": "Annual Budget", "constraints": { "min": 0 } },
|
|
39
|
-
{ "slug": "description", "valueType": "string", "label": "Description", "inputType": "textarea" }
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"views": [
|
|
44
|
-
{
|
|
45
|
-
"name": "Team",
|
|
46
|
-
"type": "table",
|
|
47
|
-
"scopeProfileSlug": "team-member",
|
|
48
|
-
"config": {}
|
|
49
|
-
}
|
|
50
|
-
],
|
|
51
|
-
"entityLinks": [
|
|
52
|
-
{ "sourceProfileSlug": "team-member", "targetProfileSlug": "department", "type": "belongs_to", "label": "In department" }
|
|
53
|
-
]
|
|
54
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "invoice-profile",
|
|
4
|
-
"icon": "receipt",
|
|
5
|
-
"color": "#10B981",
|
|
6
|
-
"tags": ["invoice", "billing", "finance"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "invoice",
|
|
13
|
-
"displayName": "Invoice",
|
|
14
|
-
"icon": "receipt",
|
|
15
|
-
"color": "#10B981",
|
|
16
|
-
"description": "Invoice with line items and payment tracking",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"properties": [
|
|
19
|
-
{ "slug": "invoice-number", "valueType": "string", "required": true, "label": "Invoice Number" },
|
|
20
|
-
{ "slug": "amount", "valueType": "number", "required": true, "label": "Amount", "constraints": { "min": 0 } },
|
|
21
|
-
{ "slug": "currency", "valueType": "string", "label": "Currency", "placeholder": "USD" },
|
|
22
|
-
{ "slug": "status", "valueType": "string", "label": "Status", "inputType": "select", "enumValues": ["draft", "sent", "paid", "overdue", "cancelled"] },
|
|
23
|
-
{ "slug": "due-date", "valueType": "date", "label": "Due Date" },
|
|
24
|
-
{ "slug": "issued-date", "valueType": "date", "label": "Issued Date" }
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "knowledge-base-pack",
|
|
4
|
-
"icon": "book-open",
|
|
5
|
-
"color": "#06B6D4",
|
|
6
|
-
"tags": ["knowledge", "articles", "documentation", "resources"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "article",
|
|
13
|
-
"displayName": "Article",
|
|
14
|
-
"icon": "newspaper",
|
|
15
|
-
"color": "#8B5CF6",
|
|
16
|
-
"description": "Knowledge base articles and documentation",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"parentProfileSlug": "bookmark",
|
|
19
|
-
"properties": [
|
|
20
|
-
{ "slug": "author", "valueType": "string", "label": "Author" },
|
|
21
|
-
{ "slug": "published-at", "valueType": "date", "label": "Published" },
|
|
22
|
-
{ "slug": "category", "valueType": "string", "label": "Category" },
|
|
23
|
-
{ "slug": "tags", "valueType": "array", "label": "Tags" },
|
|
24
|
-
{ "slug": "read-time", "valueType": "number", "label": "Read Time (min)", "constraints": { "min": 0 } }
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"slug": "resource",
|
|
29
|
-
"displayName": "Resource",
|
|
30
|
-
"icon": "link",
|
|
31
|
-
"color": "#10B981",
|
|
32
|
-
"description": "External links, tools, and references",
|
|
33
|
-
"scope": "workspace",
|
|
34
|
-
"properties": [
|
|
35
|
-
{ "slug": "url", "valueType": "string", "required": true, "label": "URL", "inputType": "url" },
|
|
36
|
-
{ "slug": "category", "valueType": "string", "label": "Category" },
|
|
37
|
-
{ "slug": "rating", "valueType": "number", "label": "Rating", "constraints": { "min": 0, "max": 5 } },
|
|
38
|
-
{ "slug": "notes", "valueType": "string", "label": "Notes", "inputType": "textarea" }
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"views": [
|
|
43
|
-
{
|
|
44
|
-
"name": "Articles",
|
|
45
|
-
"type": "grid",
|
|
46
|
-
"scopeProfileSlug": "article",
|
|
47
|
-
"config": {}
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"name": "Resources",
|
|
51
|
-
"type": "list",
|
|
52
|
-
"scopeProfileSlug": "resource",
|
|
53
|
-
"config": {}
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "meeting-profile",
|
|
4
|
-
"icon": "video",
|
|
5
|
-
"color": "#8B5CF6",
|
|
6
|
-
"tags": ["meeting", "calendar", "scheduling"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "meeting",
|
|
13
|
-
"displayName": "Meeting",
|
|
14
|
-
"icon": "video",
|
|
15
|
-
"color": "#8B5CF6",
|
|
16
|
-
"description": "Meeting with attendees, agenda, and notes",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"properties": [
|
|
19
|
-
{ "slug": "title", "valueType": "string", "required": true, "label": "Title" },
|
|
20
|
-
{ "slug": "start-date", "valueType": "date", "required": true, "label": "Start Time" },
|
|
21
|
-
{ "slug": "end-date", "valueType": "date", "label": "End Time" },
|
|
22
|
-
{ "slug": "location", "valueType": "string", "label": "Location / Link" },
|
|
23
|
-
{ "slug": "attendees", "valueType": "array", "label": "Attendees" },
|
|
24
|
-
{ "slug": "agenda", "valueType": "string", "label": "Agenda", "inputType": "textarea" },
|
|
25
|
-
{ "slug": "notes", "valueType": "string", "label": "Meeting Notes", "inputType": "textarea" }
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "product-profile",
|
|
4
|
-
"icon": "package",
|
|
5
|
-
"color": "#6366F1",
|
|
6
|
-
"tags": ["product", "inventory", "ecommerce"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "product",
|
|
13
|
-
"displayName": "Product",
|
|
14
|
-
"icon": "package",
|
|
15
|
-
"color": "#6366F1",
|
|
16
|
-
"description": "Product with pricing, SKU, and inventory",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"properties": [
|
|
19
|
-
{ "slug": "name", "valueType": "string", "required": true, "label": "Product Name" },
|
|
20
|
-
{ "slug": "sku", "valueType": "string", "label": "SKU" },
|
|
21
|
-
{ "slug": "price", "valueType": "number", "label": "Price", "constraints": { "min": 0 } },
|
|
22
|
-
{ "slug": "currency", "valueType": "string", "label": "Currency", "placeholder": "USD" },
|
|
23
|
-
{ "slug": "category", "valueType": "string", "label": "Category" },
|
|
24
|
-
{ "slug": "status", "valueType": "string", "label": "Status", "inputType": "select", "enumValues": ["draft", "active", "discontinued"] },
|
|
25
|
-
{ "slug": "description", "valueType": "string", "label": "Description", "inputType": "textarea" },
|
|
26
|
-
{ "slug": "image", "valueType": "string", "label": "Image URL" }
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "project-management-pack",
|
|
4
|
-
"icon": "kanban-square",
|
|
5
|
-
"color": "#8B5CF6",
|
|
6
|
-
"tags": ["projects", "tasks", "milestones", "team"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "task",
|
|
13
|
-
"displayName": "Task",
|
|
14
|
-
"icon": "check-square",
|
|
15
|
-
"color": "#3B82F6",
|
|
16
|
-
"description": "Work items and action items",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"properties": [
|
|
19
|
-
{ "slug": "status", "valueType": "string", "required": true, "label": "Status", "inputType": "select", "enumValues": ["todo", "in-progress", "review", "done", "cancelled"] },
|
|
20
|
-
{ "slug": "priority", "valueType": "string", "label": "Priority", "inputType": "select", "enumValues": ["low", "medium", "high", "urgent"] },
|
|
21
|
-
{ "slug": "due-date", "valueType": "date", "label": "Due Date" },
|
|
22
|
-
{ "slug": "assignee", "valueType": "string", "label": "Assignee" },
|
|
23
|
-
{ "slug": "estimate", "valueType": "number", "label": "Estimate (hours)", "constraints": { "min": 0 } },
|
|
24
|
-
{ "slug": "tags", "valueType": "array", "label": "Labels" }
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"slug": "milestone",
|
|
29
|
-
"displayName": "Milestone",
|
|
30
|
-
"icon": "flag",
|
|
31
|
-
"color": "#F59E0B",
|
|
32
|
-
"description": "Key deliverables and checkpoints",
|
|
33
|
-
"scope": "workspace",
|
|
34
|
-
"properties": [
|
|
35
|
-
{ "slug": "due-date", "valueType": "date", "required": true, "label": "Target Date" },
|
|
36
|
-
{ "slug": "status", "valueType": "string", "label": "Status", "inputType": "select", "enumValues": ["upcoming", "in-progress", "completed", "missed"] },
|
|
37
|
-
{ "slug": "description", "valueType": "string", "label": "Description", "inputType": "textarea" }
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
"views": [
|
|
42
|
-
{
|
|
43
|
-
"name": "Task Board",
|
|
44
|
-
"type": "kanban",
|
|
45
|
-
"scopeProfileSlug": "task",
|
|
46
|
-
"config": { "groupByField": "status" }
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "recipe-profile",
|
|
4
|
-
"icon": "chef-hat",
|
|
5
|
-
"color": "#F59E0B",
|
|
6
|
-
"tags": ["recipe", "cooking", "food"],
|
|
7
|
-
"requiredTier": null,
|
|
8
|
-
"isPublic": true
|
|
9
|
-
},
|
|
10
|
-
"profiles": [
|
|
11
|
-
{
|
|
12
|
-
"slug": "recipe",
|
|
13
|
-
"displayName": "Recipe",
|
|
14
|
-
"icon": "chef-hat",
|
|
15
|
-
"color": "#F59E0B",
|
|
16
|
-
"description": "Recipe with ingredients, steps, and nutrition",
|
|
17
|
-
"scope": "workspace",
|
|
18
|
-
"properties": [
|
|
19
|
-
{ "slug": "title", "valueType": "string", "required": true, "label": "Recipe Name" },
|
|
20
|
-
{ "slug": "cuisine", "valueType": "string", "label": "Cuisine" },
|
|
21
|
-
{ "slug": "prep-time", "valueType": "number", "label": "Prep Time (min)", "constraints": { "min": 0 } },
|
|
22
|
-
{ "slug": "cook-time", "valueType": "number", "label": "Cook Time (min)", "constraints": { "min": 0 } },
|
|
23
|
-
{ "slug": "servings", "valueType": "number", "label": "Servings", "constraints": { "min": 1 } },
|
|
24
|
-
{ "slug": "ingredients", "valueType": "array", "label": "Ingredients" },
|
|
25
|
-
{ "slug": "tags", "valueType": "array", "label": "Tags" }
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_meta": {
|
|
3
|
-
"slug": "task-views-pack",
|
|
4
|
-
"displayName": "Task Views",
|
|
5
|
-
"icon": "layout-grid",
|
|
6
|
-
"color": "#3B82F6",
|
|
7
|
-
"tags": ["tasks", "kanban", "views", "productivity"],
|
|
8
|
-
"requiredTier": null,
|
|
9
|
-
"isPublic": true
|
|
10
|
-
},
|
|
11
|
-
"description": "Four ready-made task views: a Kanban board by status, a priority matrix, a due-date calendar and a table of all tasks.",
|
|
12
|
-
"profiles": [],
|
|
13
|
-
"views": [
|
|
14
|
-
{
|
|
15
|
-
"name": "Task Board",
|
|
16
|
-
"type": "kanban",
|
|
17
|
-
"scopeProfileSlug": "task",
|
|
18
|
-
"config": { "groupByField": "status" }
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"name": "Priority Matrix",
|
|
22
|
-
"type": "matrix",
|
|
23
|
-
"scopeProfileSlug": "task",
|
|
24
|
-
"config": { "xField": "priority", "yField": "status" }
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"name": "Task Calendar",
|
|
28
|
-
"type": "calendar",
|
|
29
|
-
"scopeProfileSlug": "task",
|
|
30
|
-
"config": { "dateField": "dueDate" }
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "All Tasks",
|
|
34
|
-
"type": "table",
|
|
35
|
-
"scopeProfileSlug": "task",
|
|
36
|
-
"config": {}
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
}
|