@bradygaster/squad-sdk 0.8.25 → 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/adapter/client.d.ts +17 -0
- package/dist/adapter/client.d.ts.map +1 -1
- package/dist/adapter/client.js +101 -1
- package/dist/adapter/client.js.map +1 -1
- package/dist/agents/history-shadow.d.ts.map +1 -1
- package/dist/agents/history-shadow.js +99 -32
- package/dist/agents/history-shadow.js.map +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/model-selector.d.ts +2 -0
- package/dist/agents/model-selector.d.ts.map +1 -1
- package/dist/agents/model-selector.js +41 -35
- package/dist/agents/model-selector.js.map +1 -1
- package/dist/agents/personal.d.ts +35 -0
- package/dist/agents/personal.d.ts.map +1 -0
- package/dist/agents/personal.js +67 -0
- package/dist/agents/personal.js.map +1 -0
- package/dist/builders/index.d.ts +3 -2
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/index.js +28 -0
- package/dist/builders/index.js.map +1 -1
- package/dist/builders/types.d.ts +13 -0
- package/dist/builders/types.d.ts.map +1 -1
- package/dist/config/init.d.ts +8 -0
- package/dist/config/init.d.ts.map +1 -1
- package/dist/config/init.js +131 -20
- package/dist/config/init.js.map +1 -1
- package/dist/config/models.d.ts +112 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +329 -18
- package/dist/config/models.js.map +1 -1
- package/dist/coordinator/index.js +2 -2
- package/dist/coordinator/index.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/platform/azure-devops.d.ts +42 -0
- package/dist/platform/azure-devops.d.ts.map +1 -1
- package/dist/platform/azure-devops.js +75 -0
- package/dist/platform/azure-devops.js.map +1 -1
- package/dist/platform/comms-file-log.d.ts.map +1 -1
- package/dist/platform/comms-file-log.js +2 -1
- package/dist/platform/comms-file-log.js.map +1 -1
- package/dist/platform/index.d.ts +2 -1
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +1 -0
- package/dist/platform/index.js.map +1 -1
- package/dist/ralph/capabilities.d.ts +67 -0
- package/dist/ralph/capabilities.d.ts.map +1 -0
- package/dist/ralph/capabilities.js +111 -0
- package/dist/ralph/capabilities.js.map +1 -0
- package/dist/ralph/index.d.ts +2 -0
- package/dist/ralph/index.d.ts.map +1 -1
- package/dist/ralph/index.js +6 -5
- package/dist/ralph/index.js.map +1 -1
- package/dist/ralph/rate-limiting.d.ts +99 -0
- package/dist/ralph/rate-limiting.d.ts.map +1 -0
- package/dist/ralph/rate-limiting.js +170 -0
- package/dist/ralph/rate-limiting.js.map +1 -0
- package/dist/resolution.d.ts +24 -2
- package/dist/resolution.d.ts.map +1 -1
- package/dist/resolution.js +106 -6
- package/dist/resolution.js.map +1 -1
- package/dist/roles/catalog-categories.d.ts +146 -0
- package/dist/roles/catalog-categories.d.ts.map +1 -0
- package/dist/roles/catalog-categories.js +374 -0
- package/dist/roles/catalog-categories.js.map +1 -0
- package/dist/roles/catalog-engineering.d.ts +212 -0
- package/dist/roles/catalog-engineering.d.ts.map +1 -0
- package/dist/roles/catalog-engineering.js +549 -0
- package/dist/roles/catalog-engineering.js.map +1 -0
- package/dist/roles/catalog.d.ts +24 -0
- package/dist/roles/catalog.d.ts.map +1 -0
- package/dist/roles/catalog.js +28 -0
- package/dist/roles/catalog.js.map +1 -0
- package/dist/roles/index.d.ts +69 -0
- package/dist/roles/index.d.ts.map +1 -0
- package/dist/roles/index.js +197 -0
- package/dist/roles/index.js.map +1 -0
- package/dist/roles/types.d.ts +87 -0
- package/dist/roles/types.d.ts.map +1 -0
- package/dist/roles/types.js +14 -0
- package/dist/roles/types.js.map +1 -0
- package/dist/runtime/benchmarks.js +5 -5
- package/dist/runtime/benchmarks.js.map +1 -1
- package/dist/runtime/constants.d.ts +2 -2
- package/dist/runtime/constants.d.ts.map +1 -1
- package/dist/runtime/constants.js +5 -3
- package/dist/runtime/constants.js.map +1 -1
- package/dist/runtime/cross-squad.d.ts +118 -0
- package/dist/runtime/cross-squad.d.ts.map +1 -0
- package/dist/runtime/cross-squad.js +234 -0
- package/dist/runtime/cross-squad.js.map +1 -0
- package/dist/runtime/otel-init.d.ts +24 -17
- package/dist/runtime/otel-init.d.ts.map +1 -1
- package/dist/runtime/otel-init.js +29 -20
- package/dist/runtime/otel-init.js.map +1 -1
- package/dist/runtime/otel-metrics.d.ts +5 -0
- package/dist/runtime/otel-metrics.d.ts.map +1 -1
- package/dist/runtime/otel-metrics.js +54 -0
- package/dist/runtime/otel-metrics.js.map +1 -1
- package/dist/runtime/rework.d.ts +71 -0
- package/dist/runtime/rework.d.ts.map +1 -0
- package/dist/runtime/rework.js +107 -0
- package/dist/runtime/rework.js.map +1 -0
- package/dist/runtime/scheduler.d.ts +128 -0
- package/dist/runtime/scheduler.d.ts.map +1 -0
- package/dist/runtime/scheduler.js +427 -0
- package/dist/runtime/scheduler.js.map +1 -0
- package/dist/runtime/squad-observer.d.ts.map +1 -1
- package/dist/runtime/squad-observer.js +4 -0
- package/dist/runtime/squad-observer.js.map +1 -1
- package/dist/runtime/streaming.d.ts +2 -0
- package/dist/runtime/streaming.d.ts.map +1 -1
- package/dist/runtime/streaming.js +6 -0
- package/dist/runtime/streaming.js.map +1 -1
- package/dist/runtime/telemetry.d.ts +2 -0
- package/dist/runtime/telemetry.d.ts.map +1 -1
- package/dist/runtime/telemetry.js +6 -0
- package/dist/runtime/telemetry.js.map +1 -1
- package/dist/sharing/consult.d.ts +2 -2
- package/dist/sharing/consult.js +6 -6
- package/dist/sharing/consult.js.map +1 -1
- package/dist/sharing/export.d.ts.map +1 -1
- package/dist/sharing/export.js +17 -4
- package/dist/sharing/export.js.map +1 -1
- package/dist/skills/handler-types.d.ts +271 -0
- package/dist/skills/handler-types.d.ts.map +1 -0
- package/dist/skills/handler-types.js +31 -0
- package/dist/skills/handler-types.js.map +1 -0
- package/dist/skills/index.d.ts +3 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/skill-script-loader.d.ts +65 -0
- package/dist/skills/skill-script-loader.d.ts.map +1 -0
- package/dist/skills/skill-script-loader.js +227 -0
- package/dist/skills/skill-script-loader.js.map +1 -0
- package/dist/skills/skill-source.d.ts.map +1 -1
- package/dist/skills/skill-source.js +5 -1
- package/dist/skills/skill-source.js.map +1 -1
- package/dist/tools/index.d.ts +10 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +49 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/upstream/resolver.d.ts.map +1 -1
- package/dist/upstream/resolver.js +14 -5
- package/dist/upstream/resolver.js.map +1 -1
- package/package.json +34 -3
- package/templates/casting/Futurama.json +10 -0
- package/templates/casting-policy.json +4 -2
- package/templates/casting-reference.md +104 -0
- package/templates/cooperative-rate-limiting.md +229 -0
- package/templates/issue-lifecycle.md +412 -0
- package/templates/keda-scaler.md +164 -0
- package/templates/machine-capabilities.md +75 -0
- package/templates/mcp-config.md +0 -8
- package/templates/orchestration-log.md +27 -27
- package/templates/package.json +3 -0
- package/templates/ralph-circuit-breaker.md +313 -0
- package/templates/ralph-triage.js +543 -0
- package/templates/routing.md +5 -20
- package/templates/schedule.json +19 -0
- package/templates/scribe-charter.md +1 -1
- package/templates/skills/agent-collaboration/SKILL.md +42 -0
- package/templates/skills/agent-conduct/SKILL.md +24 -0
- package/templates/skills/architectural-proposals/SKILL.md +151 -0
- package/templates/skills/ci-validation-gates/SKILL.md +84 -0
- package/templates/skills/cli-wiring/SKILL.md +47 -0
- package/templates/skills/client-compatibility/SKILL.md +89 -0
- package/templates/skills/cross-squad/SKILL.md +114 -0
- package/templates/skills/distributed-mesh/SKILL.md +287 -0
- package/templates/skills/distributed-mesh/mesh.json.example +30 -0
- package/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -0
- package/templates/skills/distributed-mesh/sync-mesh.sh +104 -0
- package/templates/skills/docs-standards/SKILL.md +71 -0
- package/templates/skills/economy-mode/SKILL.md +114 -0
- package/templates/skills/external-comms/SKILL.md +329 -0
- package/templates/skills/gh-auth-isolation/SKILL.md +183 -0
- package/templates/skills/git-workflow/SKILL.md +204 -0
- package/templates/skills/github-multi-account/SKILL.md +95 -0
- package/templates/skills/history-hygiene/SKILL.md +36 -0
- package/templates/skills/humanizer/SKILL.md +105 -0
- package/templates/skills/init-mode/SKILL.md +102 -0
- package/templates/skills/model-selection/SKILL.md +117 -0
- package/templates/skills/nap/SKILL.md +24 -0
- package/templates/skills/personal-squad/SKILL.md +57 -0
- package/templates/skills/release-process/SKILL.md +423 -0
- package/templates/skills/reskill/SKILL.md +92 -0
- package/templates/skills/reviewer-protocol/SKILL.md +79 -0
- package/templates/skills/secret-handling/SKILL.md +200 -0
- package/templates/skills/session-recovery/SKILL.md +155 -0
- package/templates/skills/squad-conventions/SKILL.md +69 -0
- package/templates/skills/test-discipline/SKILL.md +37 -0
- package/templates/skills/windows-compatibility/SKILL.md +74 -0
- package/templates/squad.agent.md +1287 -1146
- package/templates/workflows/squad-docs.yml +8 -4
- package/templates/workflows/squad-heartbeat.yml +55 -200
- package/templates/workflows/squad-insider-release.yml +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Roles — Public API
|
|
3
|
+
*
|
|
4
|
+
* Provides role lookup, search, and the `useRole()` builder for
|
|
5
|
+
* referencing built-in roles in squad.config.ts.
|
|
6
|
+
*
|
|
7
|
+
* Attribution: Role content adapted from agency-agents by AgentLand
|
|
8
|
+
* Contributors (MIT License) — https://github.com/msitarzewski/agency-agents
|
|
9
|
+
*
|
|
10
|
+
* @module roles
|
|
11
|
+
*/
|
|
12
|
+
export type { BaseRole, RoleCategory, UseRoleOptions } from './types.js';
|
|
13
|
+
export { BASE_ROLES, ENGINEERING_ROLE_IDS, CATEGORY_ROLE_IDS } from './catalog.js';
|
|
14
|
+
import type { BaseRole, RoleCategory, UseRoleOptions } from './types.js';
|
|
15
|
+
import type { AgentDefinition } from '../builders/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Get all available base roles, optionally filtered by category.
|
|
18
|
+
*/
|
|
19
|
+
export declare function listRoles(category?: RoleCategory): readonly BaseRole[];
|
|
20
|
+
/**
|
|
21
|
+
* Look up a base role by ID.
|
|
22
|
+
*
|
|
23
|
+
* @param id - Role ID (e.g., 'backend', 'marketing')
|
|
24
|
+
* @returns The role definition, or undefined if not found
|
|
25
|
+
*/
|
|
26
|
+
export declare function getRoleById(id: string): BaseRole | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Search roles by keyword across title, vibe, expertise, and routing patterns.
|
|
29
|
+
*
|
|
30
|
+
* @param query - Search query (case-insensitive)
|
|
31
|
+
* @returns Matching roles sorted by relevance
|
|
32
|
+
*/
|
|
33
|
+
export declare function searchRoles(query: string): readonly BaseRole[];
|
|
34
|
+
/**
|
|
35
|
+
* Get all unique categories in the catalog.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getCategories(): readonly RoleCategory[];
|
|
38
|
+
/**
|
|
39
|
+
* Create an AgentDefinition from a base role with optional overrides.
|
|
40
|
+
*
|
|
41
|
+
* This is the primary way to use base roles in `squad.config.ts`:
|
|
42
|
+
*
|
|
43
|
+
* ```typescript
|
|
44
|
+
* import { useRole, defineSquad } from '@bradygaster/squad-sdk';
|
|
45
|
+
*
|
|
46
|
+
* export default defineSquad({
|
|
47
|
+
* agents: [
|
|
48
|
+
* useRole('lead', { name: 'ripley' }),
|
|
49
|
+
* useRole('backend', { name: 'kane', expertise: ['Node.js', 'PostgreSQL'] }),
|
|
50
|
+
* ],
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @param roleId - Base role ID (e.g., 'backend', 'marketing')
|
|
55
|
+
* @param options - Agent name and optional overrides
|
|
56
|
+
* @returns AgentDefinition ready for defineSquad()
|
|
57
|
+
* @throws Error if roleId is not found in the catalog
|
|
58
|
+
*/
|
|
59
|
+
export declare function useRole(roleId: string, options: UseRoleOptions): AgentDefinition;
|
|
60
|
+
/**
|
|
61
|
+
* Generate a charter markdown string from a base role ID.
|
|
62
|
+
* Used by cast.ts when creating agents during init.
|
|
63
|
+
*
|
|
64
|
+
* @param roleId - Base role ID
|
|
65
|
+
* @param agentName - The cast name for the agent
|
|
66
|
+
* @returns Full charter.md content, or null if role not found
|
|
67
|
+
*/
|
|
68
|
+
export declare function generateCharterFromRole(roleId: string, agentName: string): string | null;
|
|
69
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/roles/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,QAAQ,EAAE,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CAW9D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,YAAY,EAAE,CAIvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,eAAe,CAkDhF;AAqED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBxF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Roles — Public API
|
|
3
|
+
*
|
|
4
|
+
* Provides role lookup, search, and the `useRole()` builder for
|
|
5
|
+
* referencing built-in roles in squad.config.ts.
|
|
6
|
+
*
|
|
7
|
+
* Attribution: Role content adapted from agency-agents by AgentLand
|
|
8
|
+
* Contributors (MIT License) — https://github.com/msitarzewski/agency-agents
|
|
9
|
+
*
|
|
10
|
+
* @module roles
|
|
11
|
+
*/
|
|
12
|
+
export { BASE_ROLES, ENGINEERING_ROLE_IDS, CATEGORY_ROLE_IDS } from './catalog.js';
|
|
13
|
+
import { BASE_ROLES } from './catalog.js';
|
|
14
|
+
/**
|
|
15
|
+
* Get all available base roles, optionally filtered by category.
|
|
16
|
+
*/
|
|
17
|
+
export function listRoles(category) {
|
|
18
|
+
if (!category)
|
|
19
|
+
return BASE_ROLES;
|
|
20
|
+
return BASE_ROLES.filter(r => r.category === category);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Look up a base role by ID.
|
|
24
|
+
*
|
|
25
|
+
* @param id - Role ID (e.g., 'backend', 'marketing')
|
|
26
|
+
* @returns The role definition, or undefined if not found
|
|
27
|
+
*/
|
|
28
|
+
export function getRoleById(id) {
|
|
29
|
+
return BASE_ROLES.find(r => r.id === id);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Search roles by keyword across title, vibe, expertise, and routing patterns.
|
|
33
|
+
*
|
|
34
|
+
* @param query - Search query (case-insensitive)
|
|
35
|
+
* @returns Matching roles sorted by relevance
|
|
36
|
+
*/
|
|
37
|
+
export function searchRoles(query) {
|
|
38
|
+
const q = query.toLowerCase();
|
|
39
|
+
return BASE_ROLES.filter(r => {
|
|
40
|
+
return (r.title.toLowerCase().includes(q) ||
|
|
41
|
+
r.vibe.toLowerCase().includes(q) ||
|
|
42
|
+
r.id.toLowerCase().includes(q) ||
|
|
43
|
+
r.expertise.some(e => e.toLowerCase().includes(q)) ||
|
|
44
|
+
r.routingPatterns.some(p => p.toLowerCase().includes(q)));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get all unique categories in the catalog.
|
|
49
|
+
*/
|
|
50
|
+
export function getCategories() {
|
|
51
|
+
const cats = new Set();
|
|
52
|
+
for (const r of BASE_ROLES)
|
|
53
|
+
cats.add(r.category);
|
|
54
|
+
return [...cats];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create an AgentDefinition from a base role with optional overrides.
|
|
58
|
+
*
|
|
59
|
+
* This is the primary way to use base roles in `squad.config.ts`:
|
|
60
|
+
*
|
|
61
|
+
* ```typescript
|
|
62
|
+
* import { useRole, defineSquad } from '@bradygaster/squad-sdk';
|
|
63
|
+
*
|
|
64
|
+
* export default defineSquad({
|
|
65
|
+
* agents: [
|
|
66
|
+
* useRole('lead', { name: 'ripley' }),
|
|
67
|
+
* useRole('backend', { name: 'kane', expertise: ['Node.js', 'PostgreSQL'] }),
|
|
68
|
+
* ],
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @param roleId - Base role ID (e.g., 'backend', 'marketing')
|
|
73
|
+
* @param options - Agent name and optional overrides
|
|
74
|
+
* @returns AgentDefinition ready for defineSquad()
|
|
75
|
+
* @throws Error if roleId is not found in the catalog
|
|
76
|
+
*/
|
|
77
|
+
export function useRole(roleId, options) {
|
|
78
|
+
const role = getRoleById(roleId);
|
|
79
|
+
if (!role) {
|
|
80
|
+
const available = BASE_ROLES.map(r => r.id).join(', ');
|
|
81
|
+
throw new Error(`Unknown base role '${roleId}'. Available roles: ${available}`);
|
|
82
|
+
}
|
|
83
|
+
const expertise = options.expertise ?? role.expertise;
|
|
84
|
+
const style = options.style ?? role.style;
|
|
85
|
+
const vibe = options.vibe ?? role.vibe;
|
|
86
|
+
const ownership = options.extraOwnership
|
|
87
|
+
? [...role.ownership, ...options.extraOwnership]
|
|
88
|
+
: role.ownership;
|
|
89
|
+
const approach = options.extraApproach
|
|
90
|
+
? [...role.approach, ...options.extraApproach]
|
|
91
|
+
: role.approach;
|
|
92
|
+
const boundaries = {
|
|
93
|
+
handles: options.boundaries?.handles ?? role.boundaries.handles,
|
|
94
|
+
doesNotHandle: options.boundaries?.doesNotHandle ?? role.boundaries.doesNotHandle,
|
|
95
|
+
};
|
|
96
|
+
const voice = options.voice ?? role.voice;
|
|
97
|
+
// Build charter content from role definition
|
|
98
|
+
const rawCharter = buildCharterFromRole(role, {
|
|
99
|
+
expertise,
|
|
100
|
+
style,
|
|
101
|
+
ownership,
|
|
102
|
+
approach,
|
|
103
|
+
boundaries,
|
|
104
|
+
voice,
|
|
105
|
+
});
|
|
106
|
+
// Replace {my-name} placeholder with the agent's cast name
|
|
107
|
+
const charter = rawCharter.replace(/\{my-name\}/g, options.name.toLowerCase());
|
|
108
|
+
const agent = {
|
|
109
|
+
name: options.name,
|
|
110
|
+
role: role.title,
|
|
111
|
+
description: vibe,
|
|
112
|
+
charter,
|
|
113
|
+
status: options.status ?? 'active',
|
|
114
|
+
};
|
|
115
|
+
if (options.model) {
|
|
116
|
+
return { ...agent, model: options.model };
|
|
117
|
+
}
|
|
118
|
+
return agent;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Generate Squad charter.md content from a base role definition.
|
|
122
|
+
*/
|
|
123
|
+
function buildCharterFromRole(role, overrides) {
|
|
124
|
+
const lines = [];
|
|
125
|
+
lines.push(`<!-- ${role.attribution} -->`);
|
|
126
|
+
lines.push('');
|
|
127
|
+
lines.push(`## Identity`);
|
|
128
|
+
lines.push('');
|
|
129
|
+
lines.push(`- **Role:** ${role.title}`);
|
|
130
|
+
lines.push(`- **Expertise:** ${overrides.expertise.join(', ')}`);
|
|
131
|
+
lines.push(`- **Style:** ${overrides.style}`);
|
|
132
|
+
lines.push('');
|
|
133
|
+
lines.push(`## What I Own`);
|
|
134
|
+
lines.push('');
|
|
135
|
+
for (const item of overrides.ownership) {
|
|
136
|
+
lines.push(`- ${item}`);
|
|
137
|
+
}
|
|
138
|
+
lines.push('');
|
|
139
|
+
lines.push(`## How I Work`);
|
|
140
|
+
lines.push('');
|
|
141
|
+
for (const item of overrides.approach) {
|
|
142
|
+
lines.push(`- ${item}`);
|
|
143
|
+
}
|
|
144
|
+
lines.push('');
|
|
145
|
+
lines.push(`## Boundaries`);
|
|
146
|
+
lines.push('');
|
|
147
|
+
lines.push(`**I handle:** ${overrides.boundaries.handles}`);
|
|
148
|
+
lines.push('');
|
|
149
|
+
lines.push(`**I don't handle:** ${overrides.boundaries.doesNotHandle}`);
|
|
150
|
+
lines.push('');
|
|
151
|
+
lines.push(`**When I'm unsure:** I say so and suggest who might know.`);
|
|
152
|
+
lines.push('');
|
|
153
|
+
lines.push(`**If I review others' work:** On rejection, I may require a different agent to revise (not the original author) or request a new specialist be spawned. The Coordinator enforces this.`);
|
|
154
|
+
lines.push('');
|
|
155
|
+
lines.push(`## Model`);
|
|
156
|
+
lines.push('');
|
|
157
|
+
lines.push(`- **Preferred:** auto`);
|
|
158
|
+
lines.push(`- **Rationale:** Coordinator selects the best model based on task type — cost first unless writing code`);
|
|
159
|
+
lines.push(`- **Fallback:** Standard chain — the coordinator handles fallback automatically`);
|
|
160
|
+
lines.push('');
|
|
161
|
+
lines.push(`## Collaboration`);
|
|
162
|
+
lines.push('');
|
|
163
|
+
lines.push('Before starting work, run `git rev-parse --show-toplevel` to find the repo root, or use the `TEAM ROOT` provided in the spawn prompt. All `.squad/` paths must be resolved relative to this root — do not assume CWD is the repo root (you may be in a worktree or subdirectory).');
|
|
164
|
+
lines.push('');
|
|
165
|
+
lines.push('Before starting work, read `.squad/decisions.md` for team decisions that affect me.');
|
|
166
|
+
lines.push('After making a decision others should know, write it to `.squad/decisions/inbox/{my-name}-{brief-slug}.md` — the Scribe will merge it.');
|
|
167
|
+
lines.push('If I need another team member\'s input, say so — the coordinator will bring them in.');
|
|
168
|
+
lines.push('');
|
|
169
|
+
lines.push(`## Voice`);
|
|
170
|
+
lines.push('');
|
|
171
|
+
lines.push(overrides.voice);
|
|
172
|
+
return lines.join('\n');
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Generate a charter markdown string from a base role ID.
|
|
176
|
+
* Used by cast.ts when creating agents during init.
|
|
177
|
+
*
|
|
178
|
+
* @param roleId - Base role ID
|
|
179
|
+
* @param agentName - The cast name for the agent
|
|
180
|
+
* @returns Full charter.md content, or null if role not found
|
|
181
|
+
*/
|
|
182
|
+
export function generateCharterFromRole(roleId, agentName) {
|
|
183
|
+
const role = getRoleById(roleId);
|
|
184
|
+
if (!role)
|
|
185
|
+
return null;
|
|
186
|
+
const nameLower = agentName.toLowerCase();
|
|
187
|
+
const charter = buildCharterFromRole(role, {
|
|
188
|
+
expertise: role.expertise,
|
|
189
|
+
style: role.style,
|
|
190
|
+
ownership: role.ownership,
|
|
191
|
+
approach: role.approach,
|
|
192
|
+
boundaries: role.boundaries,
|
|
193
|
+
voice: role.voice,
|
|
194
|
+
});
|
|
195
|
+
return `# ${agentName} — ${role.title}\n\n> ${role.vibe}\n\n${charter.replace('{my-name}', nameLower)}`;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/roles/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Role Types — Built-in role catalog for Squad
|
|
3
|
+
*
|
|
4
|
+
* Base roles provide curated starting points for team casting.
|
|
5
|
+
* Each role includes deep charter content that gets refined for
|
|
6
|
+
* the specific project context during init.
|
|
7
|
+
*
|
|
8
|
+
* Inspired by agency-agents by AgentLand Contributors (MIT License)
|
|
9
|
+
* https://github.com/msitarzewski/agency-agents
|
|
10
|
+
*
|
|
11
|
+
* @module roles/types
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A category grouping for base roles.
|
|
15
|
+
*
|
|
16
|
+
* - Software development categories cover Squad's primary use case
|
|
17
|
+
* - Business/operations categories cover broader team types
|
|
18
|
+
*/
|
|
19
|
+
export type RoleCategory = 'engineering' | 'quality' | 'operations' | 'product' | 'design' | 'marketing' | 'sales' | 'support' | 'game-dev' | 'media' | 'compliance';
|
|
20
|
+
/**
|
|
21
|
+
* A built-in base role definition.
|
|
22
|
+
*
|
|
23
|
+
* Base roles are starting points — they provide ~90% of charter content.
|
|
24
|
+
* A lightweight LLM refinement pass adapts them to the project context.
|
|
25
|
+
*/
|
|
26
|
+
export interface BaseRole {
|
|
27
|
+
/** Unique role identifier (kebab-case, e.g., 'backend', 'marketing') */
|
|
28
|
+
readonly id: string;
|
|
29
|
+
/** Human-readable title (e.g., 'Backend Developer') */
|
|
30
|
+
readonly title: string;
|
|
31
|
+
/** Category grouping */
|
|
32
|
+
readonly category: RoleCategory;
|
|
33
|
+
/** Emoji for display */
|
|
34
|
+
readonly emoji: string;
|
|
35
|
+
/** One-line personality/vibe (shown during role selection) */
|
|
36
|
+
readonly vibe: string;
|
|
37
|
+
/** Expertise areas for the charter Identity section */
|
|
38
|
+
readonly expertise: readonly string[];
|
|
39
|
+
/** Communication style descriptor */
|
|
40
|
+
readonly style: string;
|
|
41
|
+
/** What this role owns — bullet points for the charter */
|
|
42
|
+
readonly ownership: readonly string[];
|
|
43
|
+
/** How this role works — approach and principles */
|
|
44
|
+
readonly approach: readonly string[];
|
|
45
|
+
/** Boundary definitions */
|
|
46
|
+
readonly boundaries: {
|
|
47
|
+
/** Types of work this role handles */
|
|
48
|
+
readonly handles: string;
|
|
49
|
+
/** Types of work that belong elsewhere */
|
|
50
|
+
readonly doesNotHandle: string;
|
|
51
|
+
};
|
|
52
|
+
/** Deeper personality description for the charter Voice section */
|
|
53
|
+
readonly voice: string;
|
|
54
|
+
/** Keywords for routing table matching during init */
|
|
55
|
+
readonly routingPatterns: readonly string[];
|
|
56
|
+
/** Source attribution (required for agency-agents derived content) */
|
|
57
|
+
readonly attribution: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Options for customizing a base role when using `useRole()`.
|
|
61
|
+
*/
|
|
62
|
+
export interface UseRoleOptions {
|
|
63
|
+
/** Agent name (required — this becomes the cast name) */
|
|
64
|
+
readonly name: string;
|
|
65
|
+
/** Override or extend expertise areas */
|
|
66
|
+
readonly expertise?: readonly string[];
|
|
67
|
+
/** Override communication style */
|
|
68
|
+
readonly style?: string;
|
|
69
|
+
/** Override the vibe/personality line */
|
|
70
|
+
readonly vibe?: string;
|
|
71
|
+
/** Additional ownership items to append */
|
|
72
|
+
readonly extraOwnership?: readonly string[];
|
|
73
|
+
/** Additional approach items to append */
|
|
74
|
+
readonly extraApproach?: readonly string[];
|
|
75
|
+
/** Override boundaries */
|
|
76
|
+
readonly boundaries?: {
|
|
77
|
+
readonly handles?: string;
|
|
78
|
+
readonly doesNotHandle?: string;
|
|
79
|
+
};
|
|
80
|
+
/** Override voice */
|
|
81
|
+
readonly voice?: string;
|
|
82
|
+
/** Model preference override */
|
|
83
|
+
readonly model?: string;
|
|
84
|
+
/** Agent status */
|
|
85
|
+
readonly status?: 'active' | 'inactive' | 'retired';
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/roles/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,SAAS,GACT,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,WAAW,GACX,OAAO,GACP,SAAS,GACT,UAAU,GACV,OAAO,GACP,YAAY,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,wBAAwB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,2BAA2B;IAC3B,QAAQ,CAAC,UAAU,EAAE;QACnB,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,0CAA0C;QAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IAEF,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,sDAAsD;IACtD,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,0CAA0C;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,0BAA0B;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IAEF,qBAAqB;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,mBAAmB;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACrD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Role Types — Built-in role catalog for Squad
|
|
3
|
+
*
|
|
4
|
+
* Base roles provide curated starting points for team casting.
|
|
5
|
+
* Each role includes deep charter content that gets refined for
|
|
6
|
+
* the specific project context during init.
|
|
7
|
+
*
|
|
8
|
+
* Inspired by agency-agents by AgentLand Contributors (MIT License)
|
|
9
|
+
* https://github.com/msitarzewski/agency-agents
|
|
10
|
+
*
|
|
11
|
+
* @module roles/types
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/roles/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -147,7 +147,7 @@ export class BenchmarkSuite {
|
|
|
147
147
|
// Simulate config parsing: build and validate a config-like object
|
|
148
148
|
const config = {
|
|
149
149
|
version: '1.0.0',
|
|
150
|
-
models: { defaultModel: 'claude-sonnet-4.
|
|
150
|
+
models: { defaultModel: 'claude-sonnet-4.6', defaultTier: 'standard', fallbackChains: { premium: [], standard: [], fast: [] } },
|
|
151
151
|
routing: { rules: [{ workType: 'feature-dev', agents: ['@coordinator'] }] },
|
|
152
152
|
};
|
|
153
153
|
JSON.parse(JSON.stringify(config));
|
|
@@ -188,8 +188,8 @@ export class BenchmarkSuite {
|
|
|
188
188
|
modelSelectionOp() {
|
|
189
189
|
// Simulate model selection logic
|
|
190
190
|
const tiers = {
|
|
191
|
-
premium: ['claude-opus-4.6', 'gpt-5.
|
|
192
|
-
standard: ['claude-sonnet-4.
|
|
191
|
+
premium: ['claude-opus-4.6', 'gpt-5.4'],
|
|
192
|
+
standard: ['claude-sonnet-4.6', 'gpt-5.3-codex'],
|
|
193
193
|
fast: ['claude-haiku-4.5', 'gpt-5-mini'],
|
|
194
194
|
};
|
|
195
195
|
const role = 'developer';
|
|
@@ -204,9 +204,9 @@ export class BenchmarkSuite {
|
|
|
204
204
|
// Simulate export → serialize → deserialize → import round-trip
|
|
205
205
|
const bundle = {
|
|
206
206
|
config: { version: '1.0.0', models: {}, routing: { rules: [] } },
|
|
207
|
-
agents: [{ name: '
|
|
207
|
+
agents: [{ name: 'agent-1', role: 'developer', content: '# Agent' }],
|
|
208
208
|
skills: ['typescript', 'testing'],
|
|
209
|
-
routingRules: [{ pattern: 'feature/*', agent: '
|
|
209
|
+
routingRules: [{ pattern: 'feature/*', agent: 'agent-1' }],
|
|
210
210
|
metadata: { version: '1.0.0', timestamp: new Date().toISOString(), source: 'test' },
|
|
211
211
|
};
|
|
212
212
|
const serialized = JSON.stringify(bundle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmarks.js","sourceRoot":"","sources":["../../src/runtime/benchmarks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"benchmarks.js","sourceRoot":"","sources":["../../src/runtime/benchmarks.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ export declare const MODELS: {
|
|
|
13
13
|
readonly SELECTOR_DEFAULT_TIER: "fast";
|
|
14
14
|
/** Fallback chains by tier — ordered by preference */
|
|
15
15
|
readonly FALLBACK_CHAINS: {
|
|
16
|
-
readonly premium: readonly ["claude-opus-4.6", "claude-opus-4.6-fast", "claude-opus-4.5", "claude-sonnet-4.
|
|
17
|
-
readonly standard: readonly ["claude-sonnet-4.5", "gpt-5.
|
|
16
|
+
readonly premium: readonly ["claude-opus-4.6", "claude-opus-4.6-fast", "claude-opus-4.5", "claude-sonnet-4.6"];
|
|
17
|
+
readonly standard: readonly ["claude-sonnet-4.6", "gpt-5.4", "claude-sonnet-4.5", "gpt-5.3-codex", "claude-sonnet-4", "gpt-5.2"];
|
|
18
18
|
readonly fast: readonly ["claude-haiku-4.5", "gpt-5.1-codex-mini", "gpt-4.1", "gpt-5-mini"];
|
|
19
19
|
};
|
|
20
20
|
/** Nuclear fallback model when all chains are exhausted */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,MAAM;IACjB,wEAAwE;;IAGxE,4DAA4D;;IAG5D,2DAA2D;;IAG3D,sDAAsD;;;;;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,MAAM;IACjB,wEAAwE;;IAGxE,4DAA4D;;IAG5D,2DAA2D;;IAG3D,sDAAsD;;;;;;IAwBtD,2DAA2D;;IAG3D,sDAAsD;;CAE9C,CAAC;AAMX,eAAO,MAAM,QAAQ;IACnB,2CAA2C;;IAG3C,wCAAwC;;IAGxC,uDAAuD;;IAGvD,iFAAiF;;CAEzE,CAAC;AAMX,eAAO,MAAM,WAAW,+EAAgF,CAAC;AACzG,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// ============================================================================
|
|
10
10
|
export const MODELS = {
|
|
11
11
|
/** Default model for config files and new projects (env-overridable) */
|
|
12
|
-
DEFAULT: process.env['SQUAD_DEFAULT_MODEL'] ?? 'claude-sonnet-4.
|
|
12
|
+
DEFAULT: process.env['SQUAD_DEFAULT_MODEL'] ?? 'claude-sonnet-4.6',
|
|
13
13
|
/** Default model for model-selector Layer 4 — cost-first */
|
|
14
14
|
SELECTOR_DEFAULT: 'claude-haiku-4.5',
|
|
15
15
|
/** Default tier for the model-selector Layer 4 fallback */
|
|
@@ -20,11 +20,13 @@ export const MODELS = {
|
|
|
20
20
|
'claude-opus-4.6',
|
|
21
21
|
'claude-opus-4.6-fast',
|
|
22
22
|
'claude-opus-4.5',
|
|
23
|
-
'claude-sonnet-4.
|
|
23
|
+
'claude-sonnet-4.6',
|
|
24
24
|
],
|
|
25
25
|
standard: [
|
|
26
|
+
'claude-sonnet-4.6',
|
|
27
|
+
'gpt-5.4',
|
|
26
28
|
'claude-sonnet-4.5',
|
|
27
|
-
'gpt-5.
|
|
29
|
+
'gpt-5.3-codex',
|
|
28
30
|
'claude-sonnet-4',
|
|
29
31
|
'gpt-5.2',
|
|
30
32
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,mBAAmB;IAElE,4DAA4D;IAC5D,gBAAgB,EAAE,kBAAkB;IAEpC,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM;IAE7B,sDAAsD;IACtD,eAAe,EAAE;QACf,OAAO,EAAE;YACP,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACjB,mBAAmB;SACpB;QACD,QAAQ,EAAE;YACR,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,SAAS;SACV;QACD,IAAI,EAAE;YACJ,kBAAkB;YAClB,oBAAoB;YACpB,SAAS;YACT,YAAY;SACb;KACF;IAED,2DAA2D;IAC3D,gBAAgB,EAAE,kBAAkB;IAEpC,sDAAsD;IACtD,mBAAmB,EAAE,CAAC;CACd,CAAC;AAEX,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,2CAA2C;IAC3C,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC;IAE7E,wCAAwC;IACxC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IAExE,uDAAuD;IACvD,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IAE9E,iFAAiF;IACjF,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;CAC9E,CAAC;AAEX,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,mBAAmB;IAElE,4DAA4D;IAC5D,gBAAgB,EAAE,kBAAkB;IAEpC,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM;IAE7B,sDAAsD;IACtD,eAAe,EAAE;QACf,OAAO,EAAE;YACP,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACjB,mBAAmB;SACpB;QACD,QAAQ,EAAE;YACR,mBAAmB;YACnB,SAAS;YACT,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,SAAS;SACV;QACD,IAAI,EAAE;YACJ,kBAAkB;YAClB,oBAAoB;YACpB,SAAS;YACT,YAAY;SACb;KACF;IAED,2DAA2D;IAC3D,gBAAgB,EAAE,kBAAkB;IAEpC,sDAAsD;IACtD,mBAAmB,EAAE,CAAC;CACd,CAAC;AAEX,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,2CAA2C;IAC3C,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC;IAE7E,wCAAwC;IACxC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IAExE,uDAAuD;IACvD,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IAE9E,iFAAiF;IACjF,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;CAC9E,CAAC;AAEX,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Squad Orchestration — discovery, delegation, and manifest support.
|
|
3
|
+
*
|
|
4
|
+
* Enables squads to discover each other via manifests, delegate work
|
|
5
|
+
* across repository boundaries, and track cross-squad issue completion.
|
|
6
|
+
*
|
|
7
|
+
* @module runtime/cross-squad
|
|
8
|
+
*/
|
|
9
|
+
/** Contact information for reaching a squad. */
|
|
10
|
+
export interface SquadContact {
|
|
11
|
+
/** GitHub repository in "owner/repo" format. */
|
|
12
|
+
repo: string;
|
|
13
|
+
/** Labels to apply when creating issues for this squad. */
|
|
14
|
+
labels?: string[];
|
|
15
|
+
}
|
|
16
|
+
/** Work types a squad accepts from other squads. */
|
|
17
|
+
export type AcceptedWorkType = 'issues' | 'prs';
|
|
18
|
+
/**
|
|
19
|
+
* Squad manifest — the public contract a squad exposes for discovery.
|
|
20
|
+
* Stored at `.squad/manifest.json` in a squad's repository.
|
|
21
|
+
*/
|
|
22
|
+
export interface SquadManifest {
|
|
23
|
+
/** Human-readable squad name (e.g., "platform-squad"). */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Schema version for forward compatibility. */
|
|
26
|
+
version?: string;
|
|
27
|
+
/** One-line description of this squad's purpose. */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** Capability tags (e.g., ["kubernetes", "helm", "monitoring"]). */
|
|
30
|
+
capabilities: string[];
|
|
31
|
+
/** How to reach this squad (repo + labels). */
|
|
32
|
+
contact: SquadContact;
|
|
33
|
+
/** Work types this squad accepts from other squads. */
|
|
34
|
+
accepts: AcceptedWorkType[];
|
|
35
|
+
/** Named skills this squad offers. */
|
|
36
|
+
skills?: string[];
|
|
37
|
+
}
|
|
38
|
+
/** A discovered squad with its manifest and source location. */
|
|
39
|
+
export interface DiscoveredSquad {
|
|
40
|
+
/** Manifest data. */
|
|
41
|
+
manifest: SquadManifest;
|
|
42
|
+
/** How this squad was discovered. */
|
|
43
|
+
source: 'upstream' | 'registry' | 'local';
|
|
44
|
+
/** Upstream name or registry path (for provenance). */
|
|
45
|
+
sourceRef: string;
|
|
46
|
+
}
|
|
47
|
+
/** Options for creating a cross-squad issue. */
|
|
48
|
+
export interface CrossSquadIssueOptions {
|
|
49
|
+
/** Target repo in "owner/repo" format. */
|
|
50
|
+
targetRepo: string;
|
|
51
|
+
/** Issue title (will be prefixed with [cross-squad]). */
|
|
52
|
+
title: string;
|
|
53
|
+
/** Issue body with context and acceptance criteria. */
|
|
54
|
+
body: string;
|
|
55
|
+
/** Labels to apply (squad labels are added automatically). */
|
|
56
|
+
labels?: string[];
|
|
57
|
+
}
|
|
58
|
+
/** Result of creating a cross-squad issue. */
|
|
59
|
+
export interface CrossSquadIssueResult {
|
|
60
|
+
/** Whether the issue was successfully created. */
|
|
61
|
+
success: boolean;
|
|
62
|
+
/** Issue URL if created, or error message if not. */
|
|
63
|
+
url?: string;
|
|
64
|
+
/** Error message if creation failed. */
|
|
65
|
+
error?: string;
|
|
66
|
+
}
|
|
67
|
+
/** Status of a tracked cross-squad issue. */
|
|
68
|
+
export interface CrossSquadWorkStatus {
|
|
69
|
+
/** Issue URL being tracked. */
|
|
70
|
+
url: string;
|
|
71
|
+
/** Current state. */
|
|
72
|
+
state: 'open' | 'closed' | 'unknown';
|
|
73
|
+
/** Issue title (from last poll). */
|
|
74
|
+
title?: string;
|
|
75
|
+
/** Error message if status check failed. */
|
|
76
|
+
error?: string;
|
|
77
|
+
}
|
|
78
|
+
/** Validate a manifest object has all required fields. */
|
|
79
|
+
export declare function validateManifest(data: unknown): data is SquadManifest;
|
|
80
|
+
/**
|
|
81
|
+
* Read and parse a squad manifest from a directory path.
|
|
82
|
+
* Looks for `.squad/manifest.json` relative to the given root.
|
|
83
|
+
*/
|
|
84
|
+
export declare function readManifest(repoPath: string): SquadManifest | null;
|
|
85
|
+
/**
|
|
86
|
+
* Discover squads from upstream sources.
|
|
87
|
+
* Reads `.squad/upstream.json` and checks each upstream for a manifest.
|
|
88
|
+
*/
|
|
89
|
+
export declare function discoverFromUpstreams(squadDir: string): DiscoveredSquad[];
|
|
90
|
+
/**
|
|
91
|
+
* Discover squads from a registry file.
|
|
92
|
+
* A registry is a JSON file listing repo paths to check for manifests.
|
|
93
|
+
*/
|
|
94
|
+
export declare function discoverFromRegistry(registryPath: string): DiscoveredSquad[];
|
|
95
|
+
/**
|
|
96
|
+
* Discover all squads from all available sources.
|
|
97
|
+
* Checks upstreams first, then a registry file if present.
|
|
98
|
+
*/
|
|
99
|
+
export declare function discoverSquads(squadDir: string): DiscoveredSquad[];
|
|
100
|
+
/**
|
|
101
|
+
* Build the CLI args for creating a cross-squad issue via `gh issue create`.
|
|
102
|
+
* Returns the argument array (does not execute — callers run the command).
|
|
103
|
+
*/
|
|
104
|
+
export declare function buildDelegationArgs(options: CrossSquadIssueOptions): string[];
|
|
105
|
+
/**
|
|
106
|
+
* Build the CLI args for checking a cross-squad issue status via `gh`.
|
|
107
|
+
* Parses an issue URL into --repo and issue number.
|
|
108
|
+
*/
|
|
109
|
+
export declare function buildStatusCheckArgs(issueUrl: string): string[] | null;
|
|
110
|
+
/**
|
|
111
|
+
* Parse the JSON output from `gh issue view --json state,title`.
|
|
112
|
+
*/
|
|
113
|
+
export declare function parseIssueStatus(jsonOutput: string, issueUrl: string): CrossSquadWorkStatus;
|
|
114
|
+
/** Format discovered squads for terminal display. */
|
|
115
|
+
export declare function formatDiscoveryTable(squads: DiscoveredSquad[]): string;
|
|
116
|
+
/** Find a squad by name from a list of discovered squads. */
|
|
117
|
+
export declare function findSquadByName(squads: DiscoveredSquad[], name: string): DiscoveredSquad | undefined;
|
|
118
|
+
//# sourceMappingURL=cross-squad.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-squad.d.ts","sourceRoot":"","sources":["../../src/runtime/cross-squad.ts"],"names":[],"mappings":"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"}
|