@synap-core/workspace-templates 0.7.1 → 0.7.3
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/index.d.ts +266 -8
- package/dist/index.js +2314 -1440
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/agent-fleet.yaml +666 -108
- package/src/blockchain-ecosystem.yaml +1 -0
- package/src/brand-library.yaml +127 -12
- package/src/builder.yaml +116 -12
- package/src/business-developer.yaml +110 -18
- package/src/catalog.test.ts +2 -2
- package/src/catalog.ts +13 -3
- package/src/communication.yaml +23 -453
- package/src/composition-graph.test.ts +28 -2
- package/src/concept-guard.test.ts +176 -0
- package/src/concept-guard.ts +219 -0
- package/src/content-os.yaml +103 -10
- package/src/content-studio.yaml +1 -0
- package/src/crm.yaml +1 -0
- package/src/define.ts +8 -8
- package/src/dev-dashboard.yaml +43 -9
- package/src/domains.test.ts +117 -0
- package/src/domains.ts +102 -0
- package/src/ecosystem.yaml +25 -5
- package/src/enterprise-os.yaml +1 -0
- package/src/finance.yaml +46 -5
- package/src/foundation.yaml +13 -1
- package/src/generate.d.mts +15 -0
- package/src/generate.mjs +86 -0
- package/src/grants.yaml +1 -0
- package/src/hr.yaml +61 -8
- package/src/index.ts +40 -0
- package/src/internal-runbook.yaml +36 -5
- package/src/legal.yaml +97 -12
- package/src/life-os.yaml +188 -27
- package/src/marketing.yaml +15 -2
- package/src/meetings-knowledge.yaml +143 -23
- package/src/operations.yaml +347 -0
- package/src/outreach-comms.yaml +11 -3
- package/src/project-management.yaml +840 -111
- package/src/research-base.yaml +516 -0
- package/src/research-decision.yaml +158 -0
- package/src/shared-role-ssot.test.ts +268 -0
- package/src/social.yaml +105 -37
- package/src/templates-freshness.test.ts +55 -0
- package/src/templates.ts +4620 -4278
- package/src/the-arch.yaml +1 -0
- package/src/types.ts +9 -0
- package/src/validate.test.ts +81 -0
- package/src/validate.ts +561 -0
- package/src/personal.yaml +0 -177
package/src/hr.yaml
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
meta:
|
|
8
8
|
slug: hr
|
|
9
|
+
domain: company
|
|
9
10
|
name: HR
|
|
10
11
|
description: The people operating system — team, hiring, performance reviews, and policies in one place.
|
|
11
12
|
icon: users-round
|
|
@@ -56,7 +57,18 @@ profiles:
|
|
|
56
57
|
label: Department
|
|
57
58
|
valueType: string
|
|
58
59
|
inputType: select
|
|
59
|
-
enumValues:
|
|
60
|
+
enumValues:
|
|
61
|
+
[
|
|
62
|
+
Engineering,
|
|
63
|
+
Product,
|
|
64
|
+
Design,
|
|
65
|
+
Sales,
|
|
66
|
+
Marketing,
|
|
67
|
+
Operations,
|
|
68
|
+
People,
|
|
69
|
+
Finance,
|
|
70
|
+
Other,
|
|
71
|
+
]
|
|
60
72
|
- slug: employment-type
|
|
61
73
|
label: Employment Type
|
|
62
74
|
valueType: string
|
|
@@ -89,13 +101,25 @@ profiles:
|
|
|
89
101
|
label: Status
|
|
90
102
|
valueType: string
|
|
91
103
|
inputType: select
|
|
92
|
-
enumValues:
|
|
104
|
+
enumValues:
|
|
105
|
+
[draft, open, interviewing, offer-out, filled, on-hold, closed]
|
|
93
106
|
constraints: { defaultValue: open }
|
|
94
107
|
- slug: department
|
|
95
108
|
label: Department
|
|
96
109
|
valueType: string
|
|
97
110
|
inputType: select
|
|
98
|
-
enumValues:
|
|
111
|
+
enumValues:
|
|
112
|
+
[
|
|
113
|
+
Engineering,
|
|
114
|
+
Product,
|
|
115
|
+
Design,
|
|
116
|
+
Sales,
|
|
117
|
+
Marketing,
|
|
118
|
+
Operations,
|
|
119
|
+
People,
|
|
120
|
+
Finance,
|
|
121
|
+
Other,
|
|
122
|
+
]
|
|
99
123
|
- slug: seniority
|
|
100
124
|
label: Seniority
|
|
101
125
|
valueType: string
|
|
@@ -134,7 +158,8 @@ profiles:
|
|
|
134
158
|
label: Stage
|
|
135
159
|
valueType: string
|
|
136
160
|
inputType: select
|
|
137
|
-
enumValues:
|
|
161
|
+
enumValues:
|
|
162
|
+
[applied, screening, interview, offer, hired, rejected, withdrawn]
|
|
138
163
|
constraints: { defaultValue: applied }
|
|
139
164
|
- slug: source
|
|
140
165
|
label: Source
|
|
@@ -180,7 +205,15 @@ profiles:
|
|
|
180
205
|
label: Status
|
|
181
206
|
valueType: string
|
|
182
207
|
inputType: select
|
|
183
|
-
enumValues:
|
|
208
|
+
enumValues:
|
|
209
|
+
[
|
|
210
|
+
not-started,
|
|
211
|
+
self-review,
|
|
212
|
+
manager-review,
|
|
213
|
+
calibration,
|
|
214
|
+
shared,
|
|
215
|
+
complete,
|
|
216
|
+
]
|
|
184
217
|
constraints: { defaultValue: not-started }
|
|
185
218
|
- slug: rating
|
|
186
219
|
label: Rating
|
|
@@ -206,7 +239,17 @@ profiles:
|
|
|
206
239
|
label: Category
|
|
207
240
|
valueType: string
|
|
208
241
|
inputType: select
|
|
209
|
-
enumValues:
|
|
242
|
+
enumValues:
|
|
243
|
+
[
|
|
244
|
+
leave,
|
|
245
|
+
benefits,
|
|
246
|
+
conduct,
|
|
247
|
+
remote-work,
|
|
248
|
+
expenses,
|
|
249
|
+
security,
|
|
250
|
+
compensation,
|
|
251
|
+
other,
|
|
252
|
+
]
|
|
210
253
|
- slug: status
|
|
211
254
|
label: Status
|
|
212
255
|
valueType: string
|
|
@@ -260,7 +303,16 @@ views:
|
|
|
260
303
|
defaultView: true
|
|
261
304
|
description: Everyone on the team, by role and status.
|
|
262
305
|
config:
|
|
263
|
-
columns:
|
|
306
|
+
columns:
|
|
307
|
+
[
|
|
308
|
+
title,
|
|
309
|
+
role-title,
|
|
310
|
+
department,
|
|
311
|
+
status,
|
|
312
|
+
employment-type,
|
|
313
|
+
start-date,
|
|
314
|
+
location,
|
|
315
|
+
]
|
|
264
316
|
- name: Hiring Pipeline
|
|
265
317
|
slug: hiring-pipeline
|
|
266
318
|
type: kanban
|
|
@@ -276,7 +328,8 @@ views:
|
|
|
276
328
|
scopeProfileSlug: role
|
|
277
329
|
description: Positions and their hiring status.
|
|
278
330
|
config:
|
|
279
|
-
columns:
|
|
331
|
+
columns:
|
|
332
|
+
[title, status, department, seniority, hiring-manager, target-start]
|
|
280
333
|
- name: Reviews
|
|
281
334
|
slug: reviews
|
|
282
335
|
type: kanban
|
package/src/index.ts
CHANGED
|
@@ -98,6 +98,46 @@ export type {
|
|
|
98
98
|
LayerTemplateGraphInput,
|
|
99
99
|
} from "./composition-graph.js";
|
|
100
100
|
|
|
101
|
+
// Cross-template vocabulary-fork guard. Exported because the build/publish gate
|
|
102
|
+
// (`scripts/check-concepts.mjs`) runs it off `dist/` — one implementation, two
|
|
103
|
+
// enforcement points (CI `pnpm test` + `pnpm build`).
|
|
104
|
+
export {
|
|
105
|
+
findConceptViolations,
|
|
106
|
+
formatConceptViolations,
|
|
107
|
+
conceptTerm,
|
|
108
|
+
DECLARED_DIVERGENCES,
|
|
109
|
+
} from "./concept-guard.js";
|
|
110
|
+
export type { ConceptViolation } from "./concept-guard.js";
|
|
111
|
+
|
|
112
|
+
export {
|
|
113
|
+
TEMPLATE_DOMAINS,
|
|
114
|
+
OTHER_DOMAIN_ID,
|
|
115
|
+
OTHER_DOMAIN_LABEL,
|
|
116
|
+
isKnownDomain,
|
|
117
|
+
domainLabel,
|
|
118
|
+
groupByDomain,
|
|
119
|
+
} from "./domains.js";
|
|
120
|
+
export type { TemplateDomain, DomainGroup } from "./domains.js";
|
|
121
|
+
|
|
122
|
+
// The ONE importable per-template validator — extracted from build.mjs /
|
|
123
|
+
// check-converters.mjs so the CLI, the CP, and the pod all call the SAME rules
|
|
124
|
+
// (required fields, referential integrity against own ∪ SYSTEM_PROFILES ∪
|
|
125
|
+
// dependency-vocab, overlay safety, entityLink type, and — when the compiled
|
|
126
|
+
// converters are injected — bento union split + capabilities parity).
|
|
127
|
+
export {
|
|
128
|
+
validateTemplate,
|
|
129
|
+
collectBaseProfileSlugs,
|
|
130
|
+
SYSTEM_PROFILES,
|
|
131
|
+
REQUIRED_META_FIELDS,
|
|
132
|
+
REQUIRED_WORKSPACE_FIELDS,
|
|
133
|
+
} from "./validate.js";
|
|
134
|
+
export type {
|
|
135
|
+
ValidationError,
|
|
136
|
+
ValidateResult,
|
|
137
|
+
ValidateOptions,
|
|
138
|
+
TemplateConverters,
|
|
139
|
+
} from "./validate.js";
|
|
140
|
+
|
|
101
141
|
export {
|
|
102
142
|
toWorkspaceDefinition,
|
|
103
143
|
toPackageDefinition,
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
meta:
|
|
9
9
|
slug: internal-runbook
|
|
10
|
+
domain: company
|
|
10
11
|
name: Internal Runbook
|
|
11
12
|
description: The company's operating system — SOPs, workflows, vendors, tools, metrics, and rituals that keep the business running.
|
|
12
13
|
icon: settings-2
|
|
@@ -17,7 +18,12 @@ meta:
|
|
|
17
18
|
workspace:
|
|
18
19
|
name: Internal Runbook
|
|
19
20
|
description: The operating layer of the company — documented procedures, recurring processes, the tool stack and vendors behind them, operational metrics, and the rituals that keep the team aligned.
|
|
20
|
-
proposalId:
|
|
21
|
+
# No explicit proposalId: it derives to `internal-runbook-v1` (define.ts:
|
|
22
|
+
# `<slug>-v1`). A hand-authored `operations-v1` here previously COLLIDED with
|
|
23
|
+
# the `operations` template's derived id, so installing this via the
|
|
24
|
+
# app-hook/tRPC idempotency-on-proposalId path returned the Operations
|
|
25
|
+
# workspace instead. This is a standalone workspace (no `compose` on
|
|
26
|
+
# operations), so it must own its own identity.
|
|
21
27
|
subtype: internal-runbook
|
|
22
28
|
visibility: members
|
|
23
29
|
workspaceType: operational
|
|
@@ -40,7 +46,18 @@ profiles:
|
|
|
40
46
|
label: Category
|
|
41
47
|
valueType: string
|
|
42
48
|
inputType: select
|
|
43
|
-
enumValues:
|
|
49
|
+
enumValues:
|
|
50
|
+
[
|
|
51
|
+
Onboarding,
|
|
52
|
+
Finance,
|
|
53
|
+
People,
|
|
54
|
+
IT,
|
|
55
|
+
Support,
|
|
56
|
+
Sales,
|
|
57
|
+
Legal,
|
|
58
|
+
Facilities,
|
|
59
|
+
Other,
|
|
60
|
+
]
|
|
44
61
|
- slug: sop-status
|
|
45
62
|
label: Status
|
|
46
63
|
valueType: string
|
|
@@ -162,7 +179,19 @@ profiles:
|
|
|
162
179
|
label: Category
|
|
163
180
|
valueType: string
|
|
164
181
|
inputType: select
|
|
165
|
-
enumValues:
|
|
182
|
+
enumValues:
|
|
183
|
+
[
|
|
184
|
+
Productivity,
|
|
185
|
+
Comms,
|
|
186
|
+
Finance,
|
|
187
|
+
Sales,
|
|
188
|
+
Marketing,
|
|
189
|
+
Dev,
|
|
190
|
+
Design,
|
|
191
|
+
Data,
|
|
192
|
+
HR,
|
|
193
|
+
Other,
|
|
194
|
+
]
|
|
166
195
|
- slug: tool-status
|
|
167
196
|
label: Status
|
|
168
197
|
valueType: string
|
|
@@ -291,7 +320,8 @@ views:
|
|
|
291
320
|
scopeProfileSlug: vendor
|
|
292
321
|
description: Suppliers and service providers, with cost, owner, and renewal.
|
|
293
322
|
config:
|
|
294
|
-
visibleColumns:
|
|
323
|
+
visibleColumns:
|
|
324
|
+
[vendor-category, vendor-status, owner, monthly-cost, renewal-date]
|
|
295
325
|
defaultSort: { field: monthly-cost, direction: desc }
|
|
296
326
|
- name: Tool Stack
|
|
297
327
|
slug: tool-stack
|
|
@@ -307,7 +337,8 @@ views:
|
|
|
307
337
|
scopeProfileSlug: process-metric
|
|
308
338
|
description: Operational SLAs and KPIs against target.
|
|
309
339
|
config:
|
|
310
|
-
visibleColumns:
|
|
340
|
+
visibleColumns:
|
|
341
|
+
[metric-type, metric-status, target, current, cadence, owner]
|
|
311
342
|
- name: Rituals
|
|
312
343
|
slug: rituals
|
|
313
344
|
type: calendar
|
package/src/legal.yaml
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
meta:
|
|
8
8
|
slug: legal
|
|
9
|
+
domain: company
|
|
9
10
|
name: Legal
|
|
10
11
|
description: The company's legal operating system — contracts, compliance, IP, entities, and matters.
|
|
11
12
|
icon: scale
|
|
@@ -38,7 +39,8 @@ profiles:
|
|
|
38
39
|
label: Entity Type
|
|
39
40
|
valueType: string
|
|
40
41
|
inputType: select
|
|
41
|
-
enumValues:
|
|
42
|
+
enumValues:
|
|
43
|
+
[c-corp, s-corp, llc, ltd, gmbh, sas, subsidiary, branch, other]
|
|
42
44
|
- slug: jurisdiction
|
|
43
45
|
label: Jurisdiction
|
|
44
46
|
valueType: string
|
|
@@ -77,12 +79,25 @@ profiles:
|
|
|
77
79
|
label: Type
|
|
78
80
|
valueType: string
|
|
79
81
|
inputType: select
|
|
80
|
-
enumValues:
|
|
82
|
+
enumValues:
|
|
83
|
+
[
|
|
84
|
+
nda,
|
|
85
|
+
msa,
|
|
86
|
+
saas-subscription,
|
|
87
|
+
employment,
|
|
88
|
+
contractor,
|
|
89
|
+
lease,
|
|
90
|
+
partnership,
|
|
91
|
+
financing,
|
|
92
|
+
dpa,
|
|
93
|
+
other,
|
|
94
|
+
]
|
|
81
95
|
- slug: status
|
|
82
96
|
label: Status
|
|
83
97
|
valueType: string
|
|
84
98
|
inputType: select
|
|
85
|
-
enumValues:
|
|
99
|
+
enumValues:
|
|
100
|
+
[draft, in-review, negotiation, signed, active, expired, terminated]
|
|
86
101
|
constraints: { defaultValue: draft }
|
|
87
102
|
- slug: counterparty
|
|
88
103
|
label: Counterparty
|
|
@@ -129,7 +144,17 @@ profiles:
|
|
|
129
144
|
label: Obligation Type
|
|
130
145
|
valueType: string
|
|
131
146
|
inputType: select
|
|
132
|
-
enumValues:
|
|
147
|
+
enumValues:
|
|
148
|
+
[
|
|
149
|
+
regulatory-filing,
|
|
150
|
+
tax,
|
|
151
|
+
data-privacy,
|
|
152
|
+
license,
|
|
153
|
+
certification,
|
|
154
|
+
corporate-governance,
|
|
155
|
+
employment,
|
|
156
|
+
other,
|
|
157
|
+
]
|
|
133
158
|
- slug: status
|
|
134
159
|
label: Status
|
|
135
160
|
valueType: string
|
|
@@ -174,7 +199,8 @@ profiles:
|
|
|
174
199
|
label: Status
|
|
175
200
|
valueType: string
|
|
176
201
|
inputType: select
|
|
177
|
-
enumValues:
|
|
202
|
+
enumValues:
|
|
203
|
+
[idea, filed, pending, registered, granted, abandoned, expired]
|
|
178
204
|
constraints: { defaultValue: idea }
|
|
179
205
|
- slug: jurisdiction
|
|
180
206
|
label: Jurisdiction
|
|
@@ -211,7 +237,17 @@ profiles:
|
|
|
211
237
|
label: Area
|
|
212
238
|
valueType: string
|
|
213
239
|
inputType: select
|
|
214
|
-
enumValues:
|
|
240
|
+
enumValues:
|
|
241
|
+
[
|
|
242
|
+
privacy,
|
|
243
|
+
security,
|
|
244
|
+
hr,
|
|
245
|
+
code-of-conduct,
|
|
246
|
+
data-retention,
|
|
247
|
+
finance,
|
|
248
|
+
acceptable-use,
|
|
249
|
+
other,
|
|
250
|
+
]
|
|
215
251
|
- slug: status
|
|
216
252
|
label: Status
|
|
217
253
|
valueType: string
|
|
@@ -250,7 +286,18 @@ profiles:
|
|
|
250
286
|
label: Type
|
|
251
287
|
valueType: string
|
|
252
288
|
inputType: select
|
|
253
|
-
enumValues:
|
|
289
|
+
enumValues:
|
|
290
|
+
[
|
|
291
|
+
litigation,
|
|
292
|
+
dispute,
|
|
293
|
+
investigation,
|
|
294
|
+
employment,
|
|
295
|
+
ip-enforcement,
|
|
296
|
+
regulatory,
|
|
297
|
+
m-and-a,
|
|
298
|
+
financing,
|
|
299
|
+
other,
|
|
300
|
+
]
|
|
254
301
|
- slug: status
|
|
255
302
|
label: Status
|
|
256
303
|
valueType: string
|
|
@@ -296,7 +343,17 @@ views:
|
|
|
296
343
|
description: Every agreement, its counterparty, status, and term.
|
|
297
344
|
defaultView: true
|
|
298
345
|
config:
|
|
299
|
-
columns:
|
|
346
|
+
columns:
|
|
347
|
+
[
|
|
348
|
+
title,
|
|
349
|
+
contractType,
|
|
350
|
+
status,
|
|
351
|
+
counterparty,
|
|
352
|
+
effectiveDate,
|
|
353
|
+
expirationDate,
|
|
354
|
+
value,
|
|
355
|
+
owner,
|
|
356
|
+
]
|
|
300
357
|
- name: Renewals
|
|
301
358
|
slug: renewals
|
|
302
359
|
type: kanban
|
|
@@ -305,7 +362,8 @@ views:
|
|
|
305
362
|
description: Contracts by lifecycle stage — catch renewals and expirations before they bite.
|
|
306
363
|
config:
|
|
307
364
|
groupBy: status
|
|
308
|
-
cardFields:
|
|
365
|
+
cardFields:
|
|
366
|
+
[counterparty, renewalType, renewalDate, expirationDate, value]
|
|
309
367
|
- name: Compliance
|
|
310
368
|
slug: compliance
|
|
311
369
|
type: kanban
|
|
@@ -321,21 +379,48 @@ views:
|
|
|
321
379
|
scopeProfileSlug: ip-asset
|
|
322
380
|
description: Trademarks, patents, copyrights, and trade secrets the company owns.
|
|
323
381
|
config:
|
|
324
|
-
columns:
|
|
382
|
+
columns:
|
|
383
|
+
[
|
|
384
|
+
title,
|
|
385
|
+
assetType,
|
|
386
|
+
status,
|
|
387
|
+
jurisdiction,
|
|
388
|
+
registrationNumber,
|
|
389
|
+
renewalDate,
|
|
390
|
+
owner,
|
|
391
|
+
]
|
|
325
392
|
- name: Matters
|
|
326
393
|
slug: matters
|
|
327
394
|
type: table
|
|
328
395
|
scopeProfileSlug: legal-matter
|
|
329
396
|
description: Disputes, investigations, and transactions in flight.
|
|
330
397
|
config:
|
|
331
|
-
columns:
|
|
398
|
+
columns:
|
|
399
|
+
[
|
|
400
|
+
title,
|
|
401
|
+
matterType,
|
|
402
|
+
status,
|
|
403
|
+
priority,
|
|
404
|
+
counterparty,
|
|
405
|
+
counsel,
|
|
406
|
+
targetResolution,
|
|
407
|
+
exposure,
|
|
408
|
+
]
|
|
332
409
|
- name: Legal Entities
|
|
333
410
|
slug: legal-entities
|
|
334
411
|
type: table
|
|
335
412
|
scopeProfileSlug: legal-entity
|
|
336
413
|
description: The corporate structure — entities, jurisdictions, and status.
|
|
337
414
|
config:
|
|
338
|
-
columns:
|
|
415
|
+
columns:
|
|
416
|
+
[
|
|
417
|
+
title,
|
|
418
|
+
entityType,
|
|
419
|
+
jurisdiction,
|
|
420
|
+
registrationNumber,
|
|
421
|
+
status,
|
|
422
|
+
incorporationDate,
|
|
423
|
+
]
|
|
339
424
|
|
|
340
425
|
# Schema-level relations — give the relation picker domain-specific links from day one.
|
|
341
426
|
entityLinks:
|