@synap-core/workspace-templates 0.8.0 → 0.9.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/dist/index.d.ts +38 -1
- package/dist/index.js +635 -27
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/builder.yaml +1 -1
- package/src/business-developer.template.test.ts +2 -0
- package/src/business-developer.yaml +84 -0
- package/src/communication.yaml +28 -1
- package/src/content-os.yaml +487 -31
- package/src/crm.yaml +46 -0
- package/src/foundation.yaml +93 -0
- package/src/internal-runbook.yaml +1 -1
- package/src/project-management.yaml +1 -1
- package/src/templates.ts +635 -27
- package/src/types.ts +38 -2
package/src/types.ts
CHANGED
|
@@ -49,8 +49,30 @@ export interface TemplateProfile {
|
|
|
49
49
|
icon?: string;
|
|
50
50
|
color?: string;
|
|
51
51
|
description?: string;
|
|
52
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* Visibility of the profile DEFINITION — who can USE this vocabulary.
|
|
54
|
+
* `system` = pod-wide; `shared` = ONE row reachable from other workspaces via
|
|
55
|
+
* a `profile_workspace_access` grant; omit or `workspace` = this workspace
|
|
56
|
+
* only. Orthogonal to `entityScope` below — do not conflate the two axes.
|
|
57
|
+
*/
|
|
53
58
|
scope?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Placement of the profile's ENTITY ROWS — where the data LANDS.
|
|
61
|
+
* `pod` → entities are created with `workspace_id = NULL` and are therefore
|
|
62
|
+
* visible in every workspace; `workspace` (the backend default when omitted)
|
|
63
|
+
* → entities belong to the workspace that created them.
|
|
64
|
+
*
|
|
65
|
+
* Independent of `scope`: a `shared` profile can still mint workspace-scoped
|
|
66
|
+
* rows, and a `workspace`-scoped profile could in principle mint pod-wide
|
|
67
|
+
* ones. Both provisioning doors thread this verbatim into
|
|
68
|
+
* `ProfileRepository.create` (`create-workspace-from-definition.ts:1149`,
|
|
69
|
+
* `reconcile-workspace-from-definition.ts:319`) — omitting it inherits the
|
|
70
|
+
* repo default (`workspace`), which is the unchanged behaviour for templates
|
|
71
|
+
* that do not declare it. Applied on CREATE only: neither door flips the
|
|
72
|
+
* `entity_scope` of an existing profile (a divergence is reported as an
|
|
73
|
+
* advisory `scopeConflict` and the live row is left alone).
|
|
74
|
+
*/
|
|
75
|
+
entityScope?: 'pod' | 'workspace';
|
|
54
76
|
/** Semantic slug for system profiles. */
|
|
55
77
|
semanticSlug?: string;
|
|
56
78
|
/** Kind vs role profile. Omit for default ('kind'). */
|
|
@@ -284,9 +306,23 @@ export interface TemplatePlaybook {
|
|
|
284
306
|
members?: string[];
|
|
285
307
|
aiReactionMode?: 'on_mention' | 'always' | 'never';
|
|
286
308
|
};
|
|
287
|
-
|
|
309
|
+
/**
|
|
310
|
+
* A cron schedule that maintains ONE backing cron automation (a single
|
|
311
|
+
* `playbook_run` node) which the pod's `automation-cron-scheduler` fires.
|
|
312
|
+
* `enabled` is read STRICTLY (`materializePlaybookCronAutomation` requires
|
|
313
|
+
* `enabled === true`) — omit it and the backing cron is NEVER created, so the
|
|
314
|
+
* playbook silently never fires. Always set it explicitly.
|
|
315
|
+
*/
|
|
316
|
+
schedule?: { cron: string; enabled: boolean } | null;
|
|
288
317
|
/** tool/skill keys this playbook grants. */
|
|
289
318
|
grants?: string[];
|
|
319
|
+
/**
|
|
320
|
+
* Free-form playbook metadata → `playbooks.metadata`. Carries the propose-only
|
|
321
|
+
* governance marker for unattended maintenance playbooks:
|
|
322
|
+
* `{ governance: { forceProposeWrites: true } }` — every agent write in the
|
|
323
|
+
* playbook's scheduled sessions then routes to a reviewable proposal.
|
|
324
|
+
*/
|
|
325
|
+
metadata?: Record<string, unknown>;
|
|
290
326
|
/**
|
|
291
327
|
* The entity kind this playbook operates over, persisted to
|
|
292
328
|
* `playbooks.subject_profile`. Makes the playbook matchable by
|