@synap-core/workspace-templates 0.2.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/dist/define.d.ts +97 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +91 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/templates.d.ts +7 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +23354 -0
- package/dist/types.d.ts +328 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/package.json +37 -0
- package/src/agent-fleet.yaml +1434 -0
- package/src/brand-library.yaml +627 -0
- package/src/builder.yaml +1355 -0
- package/src/content-os.yaml +1424 -0
- package/src/content-studio.yaml +312 -0
- package/src/crm.yaml +2606 -0
- package/src/define.ts +184 -0
- package/src/dev-dashboard.yaml +1309 -0
- package/src/foundation.yaml +343 -0
- package/src/index.ts +62 -0
- package/src/life-os.yaml +1443 -0
- package/src/marketing.yaml +244 -0
- package/src/personal.yaml +114 -0
- package/src/project-management.yaml +1119 -0
- package/src/radar.yaml +274 -0
- package/src/templates.ts +23363 -0
- package/src/types.ts +426 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @synap-core/workspace-templates — Types
|
|
3
|
+
*
|
|
4
|
+
* Canonical shape of a workspace template.
|
|
5
|
+
* YAML source files validate against these types.
|
|
6
|
+
* Every consumer (browser, backend, CLI, marketplace) imports from here.
|
|
7
|
+
*/
|
|
8
|
+
export type TemplateAppKind = 'native' | 'stored' | 'url';
|
|
9
|
+
export interface TemplateAppRef {
|
|
10
|
+
kind: TemplateAppKind;
|
|
11
|
+
/** For kind='native': the appId registered in the browser manifest */
|
|
12
|
+
appId?: string;
|
|
13
|
+
/** For kind='native': how the platform renders the app */
|
|
14
|
+
rendererType?: 'native' | 'external' | 'iframe-srcdoc';
|
|
15
|
+
/** For kind='stored': the cell key registered in the cell registry */
|
|
16
|
+
cellKey?: string;
|
|
17
|
+
/** For kind='stored': default props passed to the cell */
|
|
18
|
+
props?: Record<string, unknown>;
|
|
19
|
+
/** For kind='url': external URL to open */
|
|
20
|
+
url?: string;
|
|
21
|
+
/** Human label */
|
|
22
|
+
title?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface TemplateProperty {
|
|
25
|
+
slug: string;
|
|
26
|
+
label: string;
|
|
27
|
+
valueType: string;
|
|
28
|
+
inputType?: string;
|
|
29
|
+
placeholder?: string;
|
|
30
|
+
enumValues?: string[];
|
|
31
|
+
constraints?: Record<string, unknown>;
|
|
32
|
+
targetProfileSlug?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface TemplateProfile {
|
|
35
|
+
slug: string;
|
|
36
|
+
displayName: string;
|
|
37
|
+
icon?: string;
|
|
38
|
+
color?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
/** Visibility scope. Omit or "WORKSPACE" for workspace-scoped. */
|
|
41
|
+
scope?: string;
|
|
42
|
+
/** Semantic slug for system profiles. */
|
|
43
|
+
semanticSlug?: string;
|
|
44
|
+
properties: TemplateProperty[];
|
|
45
|
+
}
|
|
46
|
+
export interface TemplateView {
|
|
47
|
+
name: string;
|
|
48
|
+
slug?: string;
|
|
49
|
+
type: string;
|
|
50
|
+
scopeProfileSlug?: string;
|
|
51
|
+
scopeProfileSlugs?: string[];
|
|
52
|
+
config?: Record<string, unknown>;
|
|
53
|
+
/** If true, this view auto-selected as the default view for this workspace */
|
|
54
|
+
defaultView?: boolean;
|
|
55
|
+
description?: string;
|
|
56
|
+
groupBy?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface TemplateEntityLink {
|
|
59
|
+
sourceProfileSlug: string;
|
|
60
|
+
targetProfileSlug: string;
|
|
61
|
+
type: string;
|
|
62
|
+
label?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface TemplateSeedEntity {
|
|
65
|
+
profileSlug: string;
|
|
66
|
+
title: string;
|
|
67
|
+
properties?: Record<string, unknown>;
|
|
68
|
+
content?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Relations between seed entities, created on provisioning. `sourceRef`/
|
|
72
|
+
* `targetRef` reference seed-entity titles (or refs) defined in `seedEntities`.
|
|
73
|
+
* Mirrors `suggestedRelations` in synap-backend `create-workspace-from-definition.ts`.
|
|
74
|
+
*/
|
|
75
|
+
export interface TemplateSuggestedRelation {
|
|
76
|
+
sourceRef: string;
|
|
77
|
+
targetRef: string;
|
|
78
|
+
type: string;
|
|
79
|
+
metadata?: Record<string, unknown>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Entity-card display templates. Mirrors `displayTemplates` in synap-backend
|
|
83
|
+
* `create-workspace-from-definition.ts`.
|
|
84
|
+
*/
|
|
85
|
+
export interface TemplateDisplayTemplate {
|
|
86
|
+
name: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
entityType?: string;
|
|
89
|
+
targetType?: string;
|
|
90
|
+
isDefault?: boolean;
|
|
91
|
+
config: Record<string, unknown>;
|
|
92
|
+
}
|
|
93
|
+
export interface TemplateSidebarSurface {
|
|
94
|
+
kind: 'cell' | 'view' | 'entity' | 'document' | 'channel' | 'app' | 'url';
|
|
95
|
+
cellKey?: string;
|
|
96
|
+
viewId?: string;
|
|
97
|
+
viewName?: string;
|
|
98
|
+
appId?: string;
|
|
99
|
+
url?: string;
|
|
100
|
+
rendererType?: 'native' | 'external' | 'iframe-srcdoc';
|
|
101
|
+
placement?: 'main' | 'side' | 'floating' | 'modal' | 'popover' | 'embed';
|
|
102
|
+
displayMode?: 'compact' | 'medium' | 'full';
|
|
103
|
+
props?: Record<string, unknown>;
|
|
104
|
+
title?: string;
|
|
105
|
+
meta?: Record<string, unknown>;
|
|
106
|
+
}
|
|
107
|
+
export interface TemplateSidebarItem {
|
|
108
|
+
kind: 'app' | 'view' | 'profile' | 'external' | 'cell';
|
|
109
|
+
appId?: string;
|
|
110
|
+
viewName?: string;
|
|
111
|
+
viewId?: string;
|
|
112
|
+
profileSlug?: string;
|
|
113
|
+
url?: string;
|
|
114
|
+
cellKey?: string;
|
|
115
|
+
cellProps?: Record<string, unknown>;
|
|
116
|
+
/** When present, bypasses kind-based dispatch — full surface control */
|
|
117
|
+
surface?: TemplateSidebarSurface;
|
|
118
|
+
label?: string;
|
|
119
|
+
icon?: string;
|
|
120
|
+
section?: string;
|
|
121
|
+
matchUrls?: string[];
|
|
122
|
+
}
|
|
123
|
+
export interface TemplateLayoutConfig {
|
|
124
|
+
pinnedApps?: string[];
|
|
125
|
+
defaultView?: string;
|
|
126
|
+
/** The first-screen app — auto-opened on workspace switch */
|
|
127
|
+
defaultApp?: string | null;
|
|
128
|
+
theme?: string;
|
|
129
|
+
sidebarItems?: TemplateSidebarItem[];
|
|
130
|
+
}
|
|
131
|
+
export interface TemplateBentoBlock {
|
|
132
|
+
kind: 'view' | 'widget';
|
|
133
|
+
viewName?: string;
|
|
134
|
+
widgetType?: string;
|
|
135
|
+
pos: {
|
|
136
|
+
x: number;
|
|
137
|
+
y: number;
|
|
138
|
+
w: number;
|
|
139
|
+
h: number;
|
|
140
|
+
};
|
|
141
|
+
config?: Record<string, unknown>;
|
|
142
|
+
overrides?: Record<string, unknown>;
|
|
143
|
+
}
|
|
144
|
+
export interface TemplateProfileEntityBentoTemplates {
|
|
145
|
+
[profileSlug: string]: {
|
|
146
|
+
blocks: Array<Record<string, unknown>>;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
export interface TemplateAutomation {
|
|
150
|
+
name: string;
|
|
151
|
+
description?: string;
|
|
152
|
+
trigger: string;
|
|
153
|
+
action: string;
|
|
154
|
+
config?: Record<string, unknown>;
|
|
155
|
+
}
|
|
156
|
+
/** Mirrors `WorkspaceSourceRole` in synap-backend `schema/workspaces.ts`. */
|
|
157
|
+
export type TemplateSourceRole = 'provider' | 'consumer' | 'provider-consumer';
|
|
158
|
+
/** Mirrors `WorkspaceDefaultSource` in synap-backend `schema/workspaces.ts`. */
|
|
159
|
+
export interface TemplateDefaultSource {
|
|
160
|
+
/** The workspace id that supplies this capability domain. */
|
|
161
|
+
workspaceId: string;
|
|
162
|
+
/** The capability domain this source satisfies (e.g. "brand", "strategy"). */
|
|
163
|
+
capability?: string;
|
|
164
|
+
/** Optional profile slug the source resolves to. */
|
|
165
|
+
profileSlug?: string;
|
|
166
|
+
/** Human label for the source. */
|
|
167
|
+
label?: string;
|
|
168
|
+
}
|
|
169
|
+
export interface TemplateOnboardingCollectTarget {
|
|
170
|
+
/** Profile slug to populate (e.g. "audience", "competitor"). */
|
|
171
|
+
profileSlug: string;
|
|
172
|
+
/** Human description of what to capture for this target. */
|
|
173
|
+
what: string;
|
|
174
|
+
/** Roughly how many to expect — guides interview depth. */
|
|
175
|
+
cardinality?: 'one' | 'few' | 'several';
|
|
176
|
+
/** Key fields the agent should make sure to fill. */
|
|
177
|
+
keyFields?: string[];
|
|
178
|
+
}
|
|
179
|
+
export interface TemplateOnboarding {
|
|
180
|
+
/** The outcome this onboarding achieves, in one sentence. */
|
|
181
|
+
goal: string;
|
|
182
|
+
/** Domain framing/voice the agent adopts for THIS workspace (the persona). */
|
|
183
|
+
framing: string;
|
|
184
|
+
/** What structured data to collect (entities to create + their key fields). */
|
|
185
|
+
collect: TemplateOnboardingCollectTarget[];
|
|
186
|
+
/** A few opening questions — the agent adapts from here, never rigid. */
|
|
187
|
+
openingQuestions?: string[];
|
|
188
|
+
/** "Done" signal the agent self-evaluates against. */
|
|
189
|
+
doneWhen?: string;
|
|
190
|
+
}
|
|
191
|
+
export interface TemplatePlaybookParam {
|
|
192
|
+
name: string;
|
|
193
|
+
type: 'text' | 'number' | 'entity' | 'choice' | 'boolean';
|
|
194
|
+
label?: string;
|
|
195
|
+
required?: boolean;
|
|
196
|
+
defaultValue?: unknown;
|
|
197
|
+
}
|
|
198
|
+
export interface TemplatePlaybook {
|
|
199
|
+
name: string;
|
|
200
|
+
description?: string;
|
|
201
|
+
goalTemplate: string;
|
|
202
|
+
params?: TemplatePlaybookParam[];
|
|
203
|
+
executor?: 'is-agent' | 'external-agent' | 'hybrid';
|
|
204
|
+
inputStrategy?: 'none' | 'static' | 'rotating' | 'query';
|
|
205
|
+
channelSpec?: {
|
|
206
|
+
type: 'GROUP' | 'AGENT_COLLAB' | 'THREAD';
|
|
207
|
+
members?: string[];
|
|
208
|
+
aiReactionMode?: 'on_mention' | 'always' | 'never';
|
|
209
|
+
};
|
|
210
|
+
schedule?: {
|
|
211
|
+
cron: string;
|
|
212
|
+
} | null;
|
|
213
|
+
/** tool/skill keys this playbook grants. */
|
|
214
|
+
grants?: string[];
|
|
215
|
+
status?: 'draft' | 'active' | 'paused';
|
|
216
|
+
}
|
|
217
|
+
export interface TemplateIntegration {
|
|
218
|
+
/** Capability template key to install (matches a capability template). */
|
|
219
|
+
templateKey: string;
|
|
220
|
+
/** Override default params with {{var}} interpolation. */
|
|
221
|
+
params?: Record<string, string>;
|
|
222
|
+
/** "apply" (create+update) or "install" (create only). */
|
|
223
|
+
mode?: 'apply' | 'install';
|
|
224
|
+
}
|
|
225
|
+
export interface TemplateExtendsRef {
|
|
226
|
+
source: string;
|
|
227
|
+
import?: {
|
|
228
|
+
profiles?: string[];
|
|
229
|
+
views?: string[];
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
export interface TemplateMeta {
|
|
233
|
+
slug: string;
|
|
234
|
+
name: string;
|
|
235
|
+
description: string;
|
|
236
|
+
icon: string;
|
|
237
|
+
color: string;
|
|
238
|
+
tags?: string[];
|
|
239
|
+
isPublic?: boolean;
|
|
240
|
+
}
|
|
241
|
+
export interface WorkspaceYaml {
|
|
242
|
+
/** Template metadata — not sent to backend, used for listing/UI */
|
|
243
|
+
meta: TemplateMeta;
|
|
244
|
+
/** The workspace definition sent to createFromDefinition */
|
|
245
|
+
workspace: {
|
|
246
|
+
name: string;
|
|
247
|
+
description: string;
|
|
248
|
+
proposalId?: string;
|
|
249
|
+
subtype?: string;
|
|
250
|
+
/**
|
|
251
|
+
* Workspace classifier — consumed by createFromDefinition (settings.workspaceType,
|
|
252
|
+
* creator-role + agent-workspace behavior). Mirrors the backend union.
|
|
253
|
+
*/
|
|
254
|
+
workspaceType?: 'personal' | 'agent' | 'project' | 'operational';
|
|
255
|
+
visibility?: string;
|
|
256
|
+
/** Capabilities this workspace provides (e.g. "brand.library", "content.pipeline") */
|
|
257
|
+
capabilities?: string[];
|
|
258
|
+
/**
|
|
259
|
+
* Cross-workspace dependency roles.
|
|
260
|
+
* E.g. { brand: "consumer", content: "provider" }
|
|
261
|
+
* "consumer" = this workspace reads from another workspace of that capability
|
|
262
|
+
* "provider" = this workspace provides that capability to others
|
|
263
|
+
*/
|
|
264
|
+
sourceRoles?: Record<string, TemplateSourceRole>;
|
|
265
|
+
/**
|
|
266
|
+
* Pins which workspace supplies each capability domain for this workspace.
|
|
267
|
+
* E.g. { brand: { workspaceId: "..." } } — read by the IS source resolver
|
|
268
|
+
* (resolveBrandWorkspaceId / resolveFoundationWorkspaceId) before falling
|
|
269
|
+
* back to provider role. Usually set at runtime, not in a template, but
|
|
270
|
+
* carried here so it round-trips through the canonical seam.
|
|
271
|
+
*/
|
|
272
|
+
defaultSources?: Record<string, TemplateDefaultSource>;
|
|
273
|
+
};
|
|
274
|
+
/** Entity profiles — the data schema */
|
|
275
|
+
profiles: TemplateProfile[];
|
|
276
|
+
/** Curated views — only the ones that add value */
|
|
277
|
+
views?: TemplateView[];
|
|
278
|
+
/** Schema-level links between entity types */
|
|
279
|
+
entityLinks?: TemplateEntityLink[];
|
|
280
|
+
/** Initial data to seed on workspace creation */
|
|
281
|
+
seedEntities?: TemplateSeedEntity[];
|
|
282
|
+
/** Relations between seed entities, created on provisioning */
|
|
283
|
+
suggestedRelations?: TemplateSuggestedRelation[];
|
|
284
|
+
/** Entity-card display templates */
|
|
285
|
+
displayTemplates?: TemplateDisplayTemplate[];
|
|
286
|
+
/** App reference — what opens as first screen */
|
|
287
|
+
app?: TemplateAppRef;
|
|
288
|
+
/** Browser sidebar + layout config */
|
|
289
|
+
layout?: TemplateLayoutConfig;
|
|
290
|
+
/** Bento dashboard */
|
|
291
|
+
bento?: {
|
|
292
|
+
viewName?: string;
|
|
293
|
+
blocks?: TemplateBentoBlock[];
|
|
294
|
+
};
|
|
295
|
+
/** Per-profile entity bento layouts */
|
|
296
|
+
profileEntityBentoTemplates?: TemplateProfileEntityBentoTemplates;
|
|
297
|
+
/** Automations to install on workspace creation */
|
|
298
|
+
automations?: TemplateAutomation[];
|
|
299
|
+
/** Playbooks (session templates) seeded with the workspace */
|
|
300
|
+
playbooks?: TemplatePlaybook[];
|
|
301
|
+
/** Capability templates (tools/connectors) to install on provisioning */
|
|
302
|
+
integrations?: TemplateIntegration[];
|
|
303
|
+
/**
|
|
304
|
+
* Per-workspace onboarding context. Written to workspace.settings.onboarding
|
|
305
|
+
* and read by the shared `onboard` skill to run a domain-specific adaptive
|
|
306
|
+
* interview — no per-domain skill file needed.
|
|
307
|
+
*/
|
|
308
|
+
onboarding?: TemplateOnboarding;
|
|
309
|
+
/** Inherit profiles/views from other workspaces */
|
|
310
|
+
extends?: TemplateExtendsRef[];
|
|
311
|
+
}
|
|
312
|
+
export interface ResolvedWorkspaceTemplate {
|
|
313
|
+
meta: TemplateMeta;
|
|
314
|
+
definition: WorkspaceYaml['workspace'] & {
|
|
315
|
+
profiles: TemplateProfile[];
|
|
316
|
+
views: TemplateView[];
|
|
317
|
+
entityLinks: TemplateEntityLink[];
|
|
318
|
+
seedEntities: TemplateSeedEntity[];
|
|
319
|
+
app: TemplateAppRef | null;
|
|
320
|
+
layoutConfig: TemplateLayoutConfig | null;
|
|
321
|
+
bentoViewName?: string;
|
|
322
|
+
bentoViewBlocks?: TemplateBentoBlock[];
|
|
323
|
+
profileEntityBentoTemplates?: TemplateProfileEntityBentoTemplates;
|
|
324
|
+
automations: TemplateAutomation[];
|
|
325
|
+
extends?: TemplateExtendsRef[];
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@synap-core/workspace-templates",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Canonical workspace definitions — YAML source + typed exports for browser, backend, CLI, and marketplace",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"default": "./dist/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"src"
|
|
15
|
+
],
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"zod": "^3.0.0",
|
|
18
|
+
"js-yaml": "^4.1.0"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/js-yaml": "^4.0.9",
|
|
22
|
+
"@types/node": "^22.0.0",
|
|
23
|
+
"typescript": "^5.5.0"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"registry": "https://registry.npmjs.org",
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"type-check": "tsc --noEmit",
|
|
31
|
+
"build:yaml": "node build.mjs",
|
|
32
|
+
"build": "node build.mjs && tsc -p tsconfig.build.json"
|
|
33
|
+
},
|
|
34
|
+
"main": "./dist/index.js",
|
|
35
|
+
"module": "./dist/index.js",
|
|
36
|
+
"types": "./dist/index.d.ts"
|
|
37
|
+
}
|