@agentworkforce/persona-kit 2.1.3 → 3.0.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/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -1
- package/dist/constants.js.map +1 -1
- package/dist/execute.test.js +8 -19
- package/dist/execute.test.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +14 -30
- package/dist/index.test.js.map +1 -1
- package/dist/interactive-spec.d.ts.map +1 -1
- package/dist/interactive-spec.js +20 -10
- package/dist/interactive-spec.js.map +1 -1
- package/dist/interactive-spec.test.js +20 -0
- package/dist/interactive-spec.test.js.map +1 -1
- package/dist/parse.d.ts +14 -17
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +358 -97
- package/dist/parse.js.map +1 -1
- package/dist/parse.test.js +218 -21
- package/dist/parse.test.js.map +1 -1
- package/dist/plan.js +6 -6
- package/dist/plan.js.map +1 -1
- package/dist/plan.test.js +16 -37
- package/dist/plan.test.js.map +1 -1
- package/dist/sidecars.test.js +4 -7
- package/dist/sidecars.test.js.map +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.js +2 -2
- package/dist/skills.js.map +1 -1
- package/dist/triggers.d.ts +43 -0
- package/dist/triggers.d.ts.map +1 -0
- package/dist/triggers.js +74 -0
- package/dist/triggers.js.map +1 -0
- package/dist/triggers.test.d.ts +2 -0
- package/dist/triggers.test.d.ts.map +1 -0
- package/dist/triggers.test.js +68 -0
- package/dist/triggers.test.js.map +1 -0
- package/dist/types.d.ts +172 -45
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/parse.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { CODEX_APPROVAL_POLICIES, CODEX_SANDBOX_MODES, HARNESS_VALUES, PERMISSION_MODES, PERSONA_INTENTS, PERSONA_TAGS,
|
|
1
|
+
import { CODEX_APPROVAL_POLICIES, CODEX_SANDBOX_MODES, HARNESS_VALUES, PERMISSION_MODES, PERSONA_INTENTS, PERSONA_TAGS, SIDECAR_MD_MODES } from './constants.js';
|
|
2
2
|
export function isObject(value) {
|
|
3
3
|
return typeof value === 'object' && value !== null;
|
|
4
4
|
}
|
|
5
5
|
export function isHarness(value) {
|
|
6
6
|
return typeof value === 'string' && HARNESS_VALUES.includes(value);
|
|
7
7
|
}
|
|
8
|
-
export function isTier(value) {
|
|
9
|
-
return typeof value === 'string' && PERSONA_TIERS.includes(value);
|
|
10
|
-
}
|
|
11
8
|
export function isIntent(value) {
|
|
12
9
|
return typeof value === 'string' && PERSONA_INTENTS.includes(value);
|
|
13
10
|
}
|
|
@@ -50,7 +47,7 @@ export function parseHarnessSettings(value, context) {
|
|
|
50
47
|
if (!isObject(value)) {
|
|
51
48
|
throw new Error(`${context} must be an object`);
|
|
52
49
|
}
|
|
53
|
-
const { reasoning, timeoutSeconds, sandboxMode, approvalPolicy, workspaceWriteNetworkAccess, webSearch } = value;
|
|
50
|
+
const { reasoning, timeoutSeconds, sandboxMode, approvalPolicy, workspaceWriteNetworkAccess, webSearch, dangerouslyBypassApprovalsAndSandbox } = value;
|
|
54
51
|
if (!['low', 'medium', 'high'].includes(String(reasoning))) {
|
|
55
52
|
throw new Error(`${context}.reasoning must be low|medium|high`);
|
|
56
53
|
}
|
|
@@ -85,55 +82,27 @@ export function parseHarnessSettings(value, context) {
|
|
|
85
82
|
}
|
|
86
83
|
out.webSearch = webSearch;
|
|
87
84
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (agentsMd !== undefined)
|
|
108
|
-
assertSidecarPath(agentsMd, `${context}.agentsMd`);
|
|
109
|
-
if (claudeMdMode !== undefined && !isSidecarMode(claudeMdMode)) {
|
|
110
|
-
throw new Error(`${context}.claudeMdMode must be one of: ${SIDECAR_MD_MODES.join(', ')}`);
|
|
111
|
-
}
|
|
112
|
-
if (agentsMdMode !== undefined && !isSidecarMode(agentsMdMode)) {
|
|
113
|
-
throw new Error(`${context}.agentsMdMode must be one of: ${SIDECAR_MD_MODES.join(', ')}`);
|
|
114
|
-
}
|
|
115
|
-
// Mode is allowed without a same-level path: a tier may declare just
|
|
116
|
-
// `claudeMdMode` and inherit the path from the spec top-level (or vice
|
|
117
|
-
// versa). The cascade validates that a path/content actually exists at
|
|
118
|
-
// runtime — a stranded mode with no path anywhere becomes a no-op.
|
|
119
|
-
if (claudeMdContent !== undefined && (typeof claudeMdContent !== 'string' || !claudeMdContent.length)) {
|
|
120
|
-
throw new Error(`${context}.claudeMdContent must be a non-empty string`);
|
|
121
|
-
}
|
|
122
|
-
if (agentsMdContent !== undefined && (typeof agentsMdContent !== 'string' || !agentsMdContent.length)) {
|
|
123
|
-
throw new Error(`${context}.agentsMdContent must be a non-empty string`);
|
|
85
|
+
if (dangerouslyBypassApprovalsAndSandbox !== undefined) {
|
|
86
|
+
if (typeof dangerouslyBypassApprovalsAndSandbox !== 'boolean') {
|
|
87
|
+
throw new Error(`${context}.dangerouslyBypassApprovalsAndSandbox must be a boolean`);
|
|
88
|
+
}
|
|
89
|
+
// Reject mixed-shape configs whenever the field is *present*, not only
|
|
90
|
+
// when true. Co-declaring sandboxMode/approvalPolicy/workspaceWriteNetworkAccess
|
|
91
|
+
// with an explicit `false` is still a contradictory shape — the two-flag
|
|
92
|
+
// form and the single-flag form are mutually exclusive concepts.
|
|
93
|
+
const conflicts = [];
|
|
94
|
+
if (sandboxMode !== undefined)
|
|
95
|
+
conflicts.push('sandboxMode');
|
|
96
|
+
if (approvalPolicy !== undefined)
|
|
97
|
+
conflicts.push('approvalPolicy');
|
|
98
|
+
if (workspaceWriteNetworkAccess !== undefined)
|
|
99
|
+
conflicts.push('workspaceWriteNetworkAccess');
|
|
100
|
+
if (conflicts.length > 0) {
|
|
101
|
+
throw new Error(`${context}.dangerouslyBypassApprovalsAndSandbox is mutually exclusive with: ${conflicts.join(', ')}`);
|
|
102
|
+
}
|
|
103
|
+
out.dangerouslyBypassApprovalsAndSandbox = dangerouslyBypassApprovalsAndSandbox;
|
|
124
104
|
}
|
|
125
|
-
return
|
|
126
|
-
harness,
|
|
127
|
-
model,
|
|
128
|
-
systemPrompt,
|
|
129
|
-
harnessSettings: parsedHarnessSettings,
|
|
130
|
-
...(typeof claudeMd === 'string' ? { claudeMd } : {}),
|
|
131
|
-
...(claudeMdMode ? { claudeMdMode: claudeMdMode } : {}),
|
|
132
|
-
...(typeof agentsMd === 'string' ? { agentsMd } : {}),
|
|
133
|
-
...(agentsMdMode ? { agentsMdMode: agentsMdMode } : {}),
|
|
134
|
-
...(typeof claudeMdContent === 'string' ? { claudeMdContent } : {}),
|
|
135
|
-
...(typeof agentsMdContent === 'string' ? { agentsMdContent } : {})
|
|
136
|
-
};
|
|
105
|
+
return out;
|
|
137
106
|
}
|
|
138
107
|
export function parseSkills(value, context) {
|
|
139
108
|
if (value === undefined) {
|
|
@@ -332,11 +301,302 @@ export function parseMcpServers(value, context) {
|
|
|
332
301
|
}
|
|
333
302
|
return out;
|
|
334
303
|
}
|
|
304
|
+
const MEMORY_SCOPE_VALUES = [
|
|
305
|
+
'session',
|
|
306
|
+
'user',
|
|
307
|
+
'workspace',
|
|
308
|
+
'org',
|
|
309
|
+
'object'
|
|
310
|
+
];
|
|
311
|
+
const TRAIT_LEVEL_VALUES = ['low', 'medium', 'high'];
|
|
312
|
+
const TRAIT_RISK_VALUES = ['conservative', 'balanced', 'aggressive'];
|
|
313
|
+
const ONEVENT_EXT_RE = /\.(?:ts|tsx|mts|cts|js|mjs|cjs)$/i;
|
|
314
|
+
// Standard 5-field cron: minute hour day-of-month month day-of-week. Each
|
|
315
|
+
// field is `*`, an integer, a range (`1-5`), a list (`1,3,5`), or a step
|
|
316
|
+
// like every-N (`*` slash `15`) or `5-25` slash `5`. Names like `MON` / `JAN`
|
|
317
|
+
// are deliberately not allowed at parse time; the runtime is the source of
|
|
318
|
+
// truth for what schedulers accept, and unknown shapes should propagate as
|
|
319
|
+
// runtime errors rather than silently passing through here.
|
|
320
|
+
const CRON_FIELD_RE = /^(?:\*|(?:\d+(?:-\d+)?)(?:,\d+(?:-\d+)?)*)(?:\/\d+)?$/;
|
|
321
|
+
// Windows absolute path shapes the parser must reject in addition to
|
|
322
|
+
// the POSIX "/abs" form. Drive-letter (`C:\…`, `C:/…`) and UNC
|
|
323
|
+
// (`\\server\share`, `//server/share`) forms both qualify as absolute
|
|
324
|
+
// for our purposes — personas need to stay portable, so onEvent paths
|
|
325
|
+
// must be relative to the persona JSON's directory.
|
|
326
|
+
const WIN_ABSOLUTE_RE = /^(?:[A-Za-z]:[\\/]|[\\/]{2})/;
|
|
327
|
+
function assertOnEventPath(value, context) {
|
|
328
|
+
if (typeof value !== 'string' || !value.trim()) {
|
|
329
|
+
throw new Error(`${context} must be a non-empty string`);
|
|
330
|
+
}
|
|
331
|
+
if (value.startsWith('/') || WIN_ABSOLUTE_RE.test(value)) {
|
|
332
|
+
throw new Error(`${context} must be a relative POSIX path; got absolute "${value}"`);
|
|
333
|
+
}
|
|
334
|
+
const segments = value.split(/[\\/]+/);
|
|
335
|
+
if (segments.some((s) => s === '..')) {
|
|
336
|
+
throw new Error(`${context} must not contain ".." segments`);
|
|
337
|
+
}
|
|
338
|
+
if (!ONEVENT_EXT_RE.test(value)) {
|
|
339
|
+
throw new Error(`${context} must point at a .ts/.tsx/.mts/.cts/.js/.mjs/.cjs file; got "${value}"`);
|
|
340
|
+
}
|
|
341
|
+
return value;
|
|
342
|
+
}
|
|
343
|
+
function assertCronExpression(value, context) {
|
|
344
|
+
const fields = value.trim().split(/\s+/);
|
|
345
|
+
if (fields.length !== 5) {
|
|
346
|
+
throw new Error(`${context} must be a 5-field cron expression; got ${fields.length} field(s)`);
|
|
347
|
+
}
|
|
348
|
+
for (let i = 0; i < fields.length; i += 1) {
|
|
349
|
+
const field = fields[i];
|
|
350
|
+
if (!CRON_FIELD_RE.test(field)) {
|
|
351
|
+
throw new Error(`${context} field ${i + 1} is not a valid cron token: "${field}"`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
export function parseIntegrationTrigger(value, context) {
|
|
356
|
+
if (!isObject(value)) {
|
|
357
|
+
throw new Error(`${context} must be an object`);
|
|
358
|
+
}
|
|
359
|
+
const { on, match, where } = value;
|
|
360
|
+
if (typeof on !== 'string' || !on.trim()) {
|
|
361
|
+
throw new Error(`${context}.on must be a non-empty string`);
|
|
362
|
+
}
|
|
363
|
+
if (match !== undefined && (typeof match !== 'string' || !match.trim())) {
|
|
364
|
+
throw new Error(`${context}.match must be a non-empty string if provided`);
|
|
365
|
+
}
|
|
366
|
+
if (where !== undefined && (typeof where !== 'string' || !where.trim())) {
|
|
367
|
+
throw new Error(`${context}.where must be a non-empty string if provided`);
|
|
368
|
+
}
|
|
369
|
+
return {
|
|
370
|
+
on,
|
|
371
|
+
...(typeof match === 'string' ? { match } : {}),
|
|
372
|
+
...(typeof where === 'string' ? { where } : {})
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
export function parseIntegrationConfig(value, context) {
|
|
376
|
+
if (!isObject(value)) {
|
|
377
|
+
throw new Error(`${context} must be an object`);
|
|
378
|
+
}
|
|
379
|
+
const { scope, triggers } = value;
|
|
380
|
+
const out = {};
|
|
381
|
+
if (scope !== undefined) {
|
|
382
|
+
const parsedScope = parseStringMap(scope, `${context}.scope`);
|
|
383
|
+
if (parsedScope && Object.keys(parsedScope).length > 0) {
|
|
384
|
+
out.scope = parsedScope;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
if (triggers !== undefined) {
|
|
388
|
+
if (!Array.isArray(triggers)) {
|
|
389
|
+
throw new Error(`${context}.triggers must be an array if provided`);
|
|
390
|
+
}
|
|
391
|
+
if (triggers.length === 0) {
|
|
392
|
+
throw new Error(`${context}.triggers must contain at least one entry if provided (omit the field to declare an integration with no event triggers)`);
|
|
393
|
+
}
|
|
394
|
+
out.triggers = triggers.map((entry, idx) => parseIntegrationTrigger(entry, `${context}.triggers[${idx}]`));
|
|
395
|
+
}
|
|
396
|
+
return out;
|
|
397
|
+
}
|
|
398
|
+
export function parseIntegrations(value, context) {
|
|
399
|
+
if (value === undefined)
|
|
400
|
+
return undefined;
|
|
401
|
+
if (!isObject(value)) {
|
|
402
|
+
throw new Error(`${context} must be an object if provided`);
|
|
403
|
+
}
|
|
404
|
+
const out = {};
|
|
405
|
+
for (const [provider, raw] of Object.entries(value)) {
|
|
406
|
+
if (!provider.trim()) {
|
|
407
|
+
throw new Error(`${context} integration keys must be non-empty strings`);
|
|
408
|
+
}
|
|
409
|
+
out[provider] = parseIntegrationConfig(raw, `${context}.${provider}`);
|
|
410
|
+
}
|
|
411
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
412
|
+
}
|
|
413
|
+
export function parseSchedules(value, context) {
|
|
414
|
+
if (value === undefined)
|
|
415
|
+
return undefined;
|
|
416
|
+
if (!Array.isArray(value)) {
|
|
417
|
+
throw new Error(`${context} must be an array if provided`);
|
|
418
|
+
}
|
|
419
|
+
if (value.length === 0)
|
|
420
|
+
return undefined;
|
|
421
|
+
// Trim every field before validating + deduping so stray whitespace
|
|
422
|
+
// does not leak into schedule ids (used as `event.name`) or bypass
|
|
423
|
+
// the duplicate-name guard (e.g. `"weekly"` vs `"weekly "`).
|
|
424
|
+
const seenNames = new Set();
|
|
425
|
+
const out = [];
|
|
426
|
+
for (const [idx, entry] of value.entries()) {
|
|
427
|
+
const entryContext = `${context}[${idx}]`;
|
|
428
|
+
if (!isObject(entry)) {
|
|
429
|
+
throw new Error(`${entryContext} must be an object`);
|
|
430
|
+
}
|
|
431
|
+
const { name, cron, tz } = entry;
|
|
432
|
+
if (typeof name !== 'string' || !name.trim()) {
|
|
433
|
+
throw new Error(`${entryContext}.name must be a non-empty string`);
|
|
434
|
+
}
|
|
435
|
+
const trimmedName = name.trim();
|
|
436
|
+
if (seenNames.has(trimmedName)) {
|
|
437
|
+
throw new Error(`${entryContext}.name "${trimmedName}" duplicates an earlier schedule`);
|
|
438
|
+
}
|
|
439
|
+
seenNames.add(trimmedName);
|
|
440
|
+
if (typeof cron !== 'string' || !cron.trim()) {
|
|
441
|
+
throw new Error(`${entryContext}.cron must be a non-empty string`);
|
|
442
|
+
}
|
|
443
|
+
const trimmedCron = cron.trim();
|
|
444
|
+
assertCronExpression(trimmedCron, `${entryContext}.cron`);
|
|
445
|
+
if (tz !== undefined && (typeof tz !== 'string' || !tz.trim())) {
|
|
446
|
+
throw new Error(`${entryContext}.tz must be a non-empty string if provided`);
|
|
447
|
+
}
|
|
448
|
+
out.push({
|
|
449
|
+
name: trimmedName,
|
|
450
|
+
cron: trimmedCron,
|
|
451
|
+
...(typeof tz === 'string' ? { tz: tz.trim() } : {})
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
return out;
|
|
455
|
+
}
|
|
456
|
+
export function parseSandbox(value, context) {
|
|
457
|
+
if (value === undefined)
|
|
458
|
+
return undefined;
|
|
459
|
+
if (typeof value === 'boolean')
|
|
460
|
+
return value;
|
|
461
|
+
if (!isObject(value)) {
|
|
462
|
+
throw new Error(`${context} must be a boolean or an object if provided`);
|
|
463
|
+
}
|
|
464
|
+
const { enabled, timeoutSeconds, env } = value;
|
|
465
|
+
const out = {};
|
|
466
|
+
if (enabled !== undefined) {
|
|
467
|
+
if (typeof enabled !== 'boolean') {
|
|
468
|
+
throw new Error(`${context}.enabled must be a boolean if provided`);
|
|
469
|
+
}
|
|
470
|
+
out.enabled = enabled;
|
|
471
|
+
}
|
|
472
|
+
if (timeoutSeconds !== undefined) {
|
|
473
|
+
if (typeof timeoutSeconds !== 'number' ||
|
|
474
|
+
!Number.isFinite(timeoutSeconds) ||
|
|
475
|
+
timeoutSeconds <= 0) {
|
|
476
|
+
throw new Error(`${context}.timeoutSeconds must be a positive number if provided`);
|
|
477
|
+
}
|
|
478
|
+
out.timeoutSeconds = timeoutSeconds;
|
|
479
|
+
}
|
|
480
|
+
if (env !== undefined) {
|
|
481
|
+
const parsedEnv = parseStringMap(env, `${context}.env`);
|
|
482
|
+
if (parsedEnv && Object.keys(parsedEnv).length > 0) {
|
|
483
|
+
out.env = parsedEnv;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return out;
|
|
487
|
+
}
|
|
488
|
+
export function parseMemory(value, context) {
|
|
489
|
+
if (value === undefined)
|
|
490
|
+
return undefined;
|
|
491
|
+
if (typeof value === 'boolean')
|
|
492
|
+
return value;
|
|
493
|
+
if (!isObject(value)) {
|
|
494
|
+
throw new Error(`${context} must be a boolean or an object if provided`);
|
|
495
|
+
}
|
|
496
|
+
const { enabled, scopes, ttlDays, autoPromote, dedupMs } = value;
|
|
497
|
+
const out = {};
|
|
498
|
+
if (enabled !== undefined) {
|
|
499
|
+
if (typeof enabled !== 'boolean') {
|
|
500
|
+
throw new Error(`${context}.enabled must be a boolean if provided`);
|
|
501
|
+
}
|
|
502
|
+
out.enabled = enabled;
|
|
503
|
+
}
|
|
504
|
+
if (scopes !== undefined) {
|
|
505
|
+
if (!Array.isArray(scopes) || scopes.length === 0) {
|
|
506
|
+
throw new Error(`${context}.scopes must be a non-empty array of memory scopes if provided`);
|
|
507
|
+
}
|
|
508
|
+
const parsedScopes = [];
|
|
509
|
+
for (const [idx, entry] of scopes.entries()) {
|
|
510
|
+
if (typeof entry !== 'string' || !MEMORY_SCOPE_VALUES.includes(entry)) {
|
|
511
|
+
throw new Error(`${context}.scopes[${idx}] must be one of: ${MEMORY_SCOPE_VALUES.join(', ')}`);
|
|
512
|
+
}
|
|
513
|
+
const scope = entry;
|
|
514
|
+
if (!parsedScopes.includes(scope))
|
|
515
|
+
parsedScopes.push(scope);
|
|
516
|
+
}
|
|
517
|
+
out.scopes = parsedScopes;
|
|
518
|
+
}
|
|
519
|
+
if (ttlDays !== undefined) {
|
|
520
|
+
if (typeof ttlDays !== 'number' || !Number.isFinite(ttlDays) || ttlDays <= 0) {
|
|
521
|
+
throw new Error(`${context}.ttlDays must be a positive number if provided`);
|
|
522
|
+
}
|
|
523
|
+
out.ttlDays = ttlDays;
|
|
524
|
+
}
|
|
525
|
+
if (autoPromote !== undefined) {
|
|
526
|
+
if (typeof autoPromote !== 'boolean') {
|
|
527
|
+
throw new Error(`${context}.autoPromote must be a boolean if provided`);
|
|
528
|
+
}
|
|
529
|
+
out.autoPromote = autoPromote;
|
|
530
|
+
}
|
|
531
|
+
if (dedupMs !== undefined) {
|
|
532
|
+
if (typeof dedupMs !== 'number' || !Number.isFinite(dedupMs) || dedupMs < 0) {
|
|
533
|
+
throw new Error(`${context}.dedupMs must be a non-negative number if provided`);
|
|
534
|
+
}
|
|
535
|
+
out.dedupMs = dedupMs;
|
|
536
|
+
}
|
|
537
|
+
return out;
|
|
538
|
+
}
|
|
539
|
+
export function parseTraits(value, context) {
|
|
540
|
+
if (value === undefined)
|
|
541
|
+
return undefined;
|
|
542
|
+
if (!isObject(value)) {
|
|
543
|
+
throw new Error(`${context} must be an object if provided`);
|
|
544
|
+
}
|
|
545
|
+
const { voice, formality, proactivity, riskPosture, domain, vocabulary, preferMarkdown } = value;
|
|
546
|
+
const out = {};
|
|
547
|
+
if (voice !== undefined) {
|
|
548
|
+
if (typeof voice !== 'string' || !voice.trim()) {
|
|
549
|
+
throw new Error(`${context}.voice must be a non-empty string if provided`);
|
|
550
|
+
}
|
|
551
|
+
out.voice = voice;
|
|
552
|
+
}
|
|
553
|
+
if (formality !== undefined) {
|
|
554
|
+
if (typeof formality !== 'string' || !TRAIT_LEVEL_VALUES.includes(formality)) {
|
|
555
|
+
throw new Error(`${context}.formality must be one of: ${TRAIT_LEVEL_VALUES.join(', ')}`);
|
|
556
|
+
}
|
|
557
|
+
out.formality = formality;
|
|
558
|
+
}
|
|
559
|
+
if (proactivity !== undefined) {
|
|
560
|
+
if (typeof proactivity !== 'string' || !TRAIT_LEVEL_VALUES.includes(proactivity)) {
|
|
561
|
+
throw new Error(`${context}.proactivity must be one of: ${TRAIT_LEVEL_VALUES.join(', ')}`);
|
|
562
|
+
}
|
|
563
|
+
out.proactivity = proactivity;
|
|
564
|
+
}
|
|
565
|
+
if (riskPosture !== undefined) {
|
|
566
|
+
if (typeof riskPosture !== 'string' || !TRAIT_RISK_VALUES.includes(riskPosture)) {
|
|
567
|
+
throw new Error(`${context}.riskPosture must be one of: ${TRAIT_RISK_VALUES.join(', ')}`);
|
|
568
|
+
}
|
|
569
|
+
out.riskPosture = riskPosture;
|
|
570
|
+
}
|
|
571
|
+
if (domain !== undefined) {
|
|
572
|
+
if (typeof domain !== 'string' || !domain.trim()) {
|
|
573
|
+
throw new Error(`${context}.domain must be a non-empty string if provided`);
|
|
574
|
+
}
|
|
575
|
+
out.domain = domain;
|
|
576
|
+
}
|
|
577
|
+
if (vocabulary !== undefined) {
|
|
578
|
+
const parsed = parseStringList(vocabulary, `${context}.vocabulary`);
|
|
579
|
+
if (parsed)
|
|
580
|
+
out.vocabulary = parsed;
|
|
581
|
+
}
|
|
582
|
+
if (preferMarkdown !== undefined) {
|
|
583
|
+
if (typeof preferMarkdown !== 'boolean') {
|
|
584
|
+
throw new Error(`${context}.preferMarkdown must be a boolean if provided`);
|
|
585
|
+
}
|
|
586
|
+
out.preferMarkdown = preferMarkdown;
|
|
587
|
+
}
|
|
588
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
589
|
+
}
|
|
590
|
+
export function parseOnEvent(value, context) {
|
|
591
|
+
if (value === undefined)
|
|
592
|
+
return undefined;
|
|
593
|
+
return assertOnEventPath(value, context);
|
|
594
|
+
}
|
|
335
595
|
export function parsePersonaSpec(value, expectedIntent) {
|
|
336
596
|
if (!isObject(value)) {
|
|
337
597
|
throw new Error(`persona[${expectedIntent}] must be an object`);
|
|
338
598
|
}
|
|
339
|
-
const { id, intent, tags, description,
|
|
599
|
+
const { id, intent, tags, description, harness, model, systemPrompt, harnessSettings, skills, inputs, env, mcpServers, permissions, mount, claudeMd, claudeMdMode, agentsMd, agentsMdMode, claudeMdContent, agentsMdContent, cloud, useSubscription, integrations, schedules, sandbox, memory, traits, onEvent } = value;
|
|
340
600
|
if (typeof id !== 'string' || !id.trim()) {
|
|
341
601
|
throw new Error(`persona[${expectedIntent}].id must be a non-empty string`);
|
|
342
602
|
}
|
|
@@ -350,20 +610,17 @@ export function parsePersonaSpec(value, expectedIntent) {
|
|
|
350
610
|
if (typeof description !== 'string' || !description.trim()) {
|
|
351
611
|
throw new Error(`persona[${expectedIntent}].description must be a non-empty string`);
|
|
352
612
|
}
|
|
353
|
-
if (!
|
|
354
|
-
throw new Error(`persona[${expectedIntent}].
|
|
613
|
+
if (!isHarness(harness)) {
|
|
614
|
+
throw new Error(`persona[${expectedIntent}].harness must be one of: ${HARNESS_VALUES.join(', ')}`);
|
|
355
615
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
parsedTiers[tier] = parseRuntime(tiers[tier], `persona[${expectedIntent}].tiers.${tier}`);
|
|
616
|
+
if (typeof model !== 'string' || !model.trim()) {
|
|
617
|
+
throw new Error(`persona[${expectedIntent}].model must be a non-empty string`);
|
|
359
618
|
}
|
|
360
|
-
|
|
361
|
-
if (
|
|
362
|
-
|
|
363
|
-
throw new Error(`persona[${expectedIntent}].defaultTier must be one of: ${PERSONA_TIERS.join(', ')}`);
|
|
364
|
-
}
|
|
365
|
-
parsedDefaultTier = defaultTier;
|
|
619
|
+
const trimmedModel = model.trim();
|
|
620
|
+
if (typeof systemPrompt !== 'string' || !systemPrompt.trim()) {
|
|
621
|
+
throw new Error(`persona[${expectedIntent}].systemPrompt must be a non-empty string`);
|
|
366
622
|
}
|
|
623
|
+
const parsedHarnessSettings = parseHarnessSettings(harnessSettings, `persona[${expectedIntent}].harnessSettings`);
|
|
367
624
|
const parsedSkills = parseSkills(skills, `persona[${expectedIntent}].skills`);
|
|
368
625
|
const parsedInputs = parseInputs(inputs, `persona[${expectedIntent}].inputs`);
|
|
369
626
|
const parsedEnv = parseStringMap(env, `persona[${expectedIntent}].env`);
|
|
@@ -380,8 +637,6 @@ export function parsePersonaSpec(value, expectedIntent) {
|
|
|
380
637
|
if (agentsMdMode !== undefined && !isSidecarMode(agentsMdMode)) {
|
|
381
638
|
throw new Error(`persona[${expectedIntent}].agentsMdMode must be one of: ${SIDECAR_MD_MODES.join(', ')}`);
|
|
382
639
|
}
|
|
383
|
-
// Spec-level mode without a spec-level path is allowed — a tier may
|
|
384
|
-
// supply the path while inheriting the mode here. See parseRuntime.
|
|
385
640
|
if (claudeMdContent !== undefined &&
|
|
386
641
|
(typeof claudeMdContent !== 'string' || !claudeMdContent.length)) {
|
|
387
642
|
throw new Error(`persona[${expectedIntent}].claudeMdContent must be a non-empty string`);
|
|
@@ -390,6 +645,18 @@ export function parsePersonaSpec(value, expectedIntent) {
|
|
|
390
645
|
(typeof agentsMdContent !== 'string' || !agentsMdContent.length)) {
|
|
391
646
|
throw new Error(`persona[${expectedIntent}].agentsMdContent must be a non-empty string`);
|
|
392
647
|
}
|
|
648
|
+
if (cloud !== undefined && typeof cloud !== 'boolean') {
|
|
649
|
+
throw new Error(`persona[${expectedIntent}].cloud must be a boolean if provided`);
|
|
650
|
+
}
|
|
651
|
+
if (useSubscription !== undefined && typeof useSubscription !== 'boolean') {
|
|
652
|
+
throw new Error(`persona[${expectedIntent}].useSubscription must be a boolean if provided`);
|
|
653
|
+
}
|
|
654
|
+
const parsedIntegrations = parseIntegrations(integrations, `persona[${expectedIntent}].integrations`);
|
|
655
|
+
const parsedSchedules = parseSchedules(schedules, `persona[${expectedIntent}].schedules`);
|
|
656
|
+
const parsedSandbox = parseSandbox(sandbox, `persona[${expectedIntent}].sandbox`);
|
|
657
|
+
const parsedMemory = parseMemory(memory, `persona[${expectedIntent}].memory`);
|
|
658
|
+
const parsedTraits = parseTraits(traits, `persona[${expectedIntent}].traits`);
|
|
659
|
+
const parsedOnEvent = parseOnEvent(onEvent, `persona[${expectedIntent}].onEvent`);
|
|
393
660
|
return {
|
|
394
661
|
id,
|
|
395
662
|
intent,
|
|
@@ -397,8 +664,10 @@ export function parsePersonaSpec(value, expectedIntent) {
|
|
|
397
664
|
description,
|
|
398
665
|
skills: parsedSkills,
|
|
399
666
|
...(parsedInputs ? { inputs: parsedInputs } : {}),
|
|
400
|
-
|
|
401
|
-
|
|
667
|
+
harness,
|
|
668
|
+
model: trimmedModel,
|
|
669
|
+
systemPrompt,
|
|
670
|
+
harnessSettings: parsedHarnessSettings,
|
|
402
671
|
...(parsedEnv ? { env: parsedEnv } : {}),
|
|
403
672
|
...(parsedMcpServers ? { mcpServers: parsedMcpServers } : {}),
|
|
404
673
|
...(parsedPermissions ? { permissions: parsedPermissions } : {}),
|
|
@@ -408,39 +677,31 @@ export function parsePersonaSpec(value, expectedIntent) {
|
|
|
408
677
|
...(typeof agentsMd === 'string' ? { agentsMd } : {}),
|
|
409
678
|
...(agentsMdMode ? { agentsMdMode: agentsMdMode } : {}),
|
|
410
679
|
...(typeof claudeMdContent === 'string' ? { claudeMdContent } : {}),
|
|
411
|
-
...(typeof agentsMdContent === 'string' ? { agentsMdContent } : {})
|
|
680
|
+
...(typeof agentsMdContent === 'string' ? { agentsMdContent } : {}),
|
|
681
|
+
...(typeof cloud === 'boolean' ? { cloud } : {}),
|
|
682
|
+
...(typeof useSubscription === 'boolean' ? { useSubscription } : {}),
|
|
683
|
+
...(parsedIntegrations ? { integrations: parsedIntegrations } : {}),
|
|
684
|
+
...(parsedSchedules ? { schedules: parsedSchedules } : {}),
|
|
685
|
+
...(parsedSandbox !== undefined ? { sandbox: parsedSandbox } : {}),
|
|
686
|
+
...(parsedMemory !== undefined ? { memory: parsedMemory } : {}),
|
|
687
|
+
...(parsedTraits ? { traits: parsedTraits } : {}),
|
|
688
|
+
...(parsedOnEvent !== undefined ? { onEvent: parsedOnEvent } : {})
|
|
412
689
|
};
|
|
413
690
|
}
|
|
414
691
|
/**
|
|
415
|
-
* Resolve the effective sidecar config for a
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
419
|
-
* and travel as a unit through the cascade. If the tier-level runtime
|
|
420
|
-
* declares EITHER `claudeMd` or `claudeMdContent`, the tier owns the
|
|
421
|
-
* channel and the top-level path/content is ignored (otherwise a tier
|
|
422
|
-
* path override would silently lose to inherited inlined content, since
|
|
423
|
-
* downstream consumers prefer Content over a path).
|
|
424
|
-
*
|
|
425
|
-
* Mode resolution: independent — a tier can set just `claudeMdMode` and
|
|
426
|
-
* inherit the top-level path. Defaults to `overwrite` if neither layer
|
|
427
|
-
* sets a mode. Modes are only meaningful when a path/content is present.
|
|
692
|
+
* Resolve the effective sidecar config for a persona. Each sidecar
|
|
693
|
+
* (`claude*`, `agents*`) is a single channel of path + inlined content +
|
|
694
|
+
* mode read directly off the spec. Modes default to `overwrite` and are
|
|
695
|
+
* only meaningful when a path or inlined content is present.
|
|
428
696
|
*/
|
|
429
|
-
export function resolveSidecar(spec
|
|
430
|
-
const runtime = spec.tiers[tier];
|
|
431
|
-
const tierOwnsClaude = runtime.claudeMd !== undefined || runtime.claudeMdContent !== undefined;
|
|
432
|
-
const tierOwnsAgents = runtime.agentsMd !== undefined || runtime.agentsMdContent !== undefined;
|
|
433
|
-
const claudePath = tierOwnsClaude ? runtime.claudeMd : spec.claudeMd;
|
|
434
|
-
const claudeContent = tierOwnsClaude ? runtime.claudeMdContent : spec.claudeMdContent;
|
|
435
|
-
const agentsPath = tierOwnsAgents ? runtime.agentsMd : spec.agentsMd;
|
|
436
|
-
const agentsContent = tierOwnsAgents ? runtime.agentsMdContent : spec.agentsMdContent;
|
|
697
|
+
export function resolveSidecar(spec) {
|
|
437
698
|
return {
|
|
438
|
-
...(
|
|
439
|
-
...(
|
|
440
|
-
claudeMdMode:
|
|
441
|
-
...(
|
|
442
|
-
...(
|
|
443
|
-
agentsMdMode:
|
|
699
|
+
...(spec.claudeMd ? { claudeMd: spec.claudeMd } : {}),
|
|
700
|
+
...(spec.claudeMdContent ? { claudeMdContent: spec.claudeMdContent } : {}),
|
|
701
|
+
claudeMdMode: spec.claudeMdMode ?? 'overwrite',
|
|
702
|
+
...(spec.agentsMd ? { agentsMd: spec.agentsMd } : {}),
|
|
703
|
+
...(spec.agentsMdContent ? { agentsMdContent: spec.agentsMdContent } : {}),
|
|
704
|
+
agentsMdMode: spec.agentsMdMode ?? 'overwrite'
|
|
444
705
|
};
|
|
445
706
|
}
|
|
446
707
|
export function sidecarSelectionFields(sidecar) {
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|