teamcast 0.9.3 → 1.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/README.md +219 -146
- package/dist/application/team.d.ts.map +1 -1
- package/dist/application/team.js +0 -1
- package/dist/application/team.js.map +1 -1
- package/dist/application/validate-team.d.ts.map +1 -1
- package/dist/application/validate-team.js +7 -4
- package/dist/application/validate-team.js.map +1 -1
- package/dist/cli/explain.d.ts.map +1 -1
- package/dist/cli/explain.js +4 -2
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/init.js +2 -5
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manage.d.ts.map +1 -1
- package/dist/cli/manage.js +6 -15
- package/dist/cli/manage.js.map +1 -1
- package/dist/core/assertions.d.ts +4 -4
- package/dist/core/assertions.d.ts.map +1 -1
- package/dist/core/capability-resolver.d.ts +7 -0
- package/dist/core/capability-resolver.d.ts.map +1 -0
- package/dist/core/capability-resolver.js +18 -0
- package/dist/core/capability-resolver.js.map +1 -0
- package/dist/core/compose-policies.d.ts +15 -0
- package/dist/core/compose-policies.d.ts.map +1 -0
- package/dist/core/compose-policies.js +106 -0
- package/dist/core/compose-policies.js.map +1 -0
- package/dist/core/environment-resolver.d.ts +20 -0
- package/dist/core/environment-resolver.d.ts.map +1 -0
- package/dist/core/environment-resolver.js +202 -0
- package/dist/core/environment-resolver.js.map +1 -0
- package/dist/core/policy-evaluator.d.ts +2 -2
- package/dist/core/policy-evaluator.d.ts.map +1 -1
- package/dist/core/policy-evaluator.js +7 -7
- package/dist/core/policy-evaluator.js.map +1 -1
- package/dist/core/types.d.ts +5 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/explainer/index.js +1 -1
- package/dist/explainer/index.js.map +1 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +4 -3
- package/dist/generator/index.js.map +1 -1
- package/dist/importer/codex.js.map +1 -1
- package/dist/importer/index.d.ts +0 -3
- package/dist/importer/index.d.ts.map +1 -1
- package/dist/importer/index.js +2 -3
- package/dist/importer/index.js.map +1 -1
- package/dist/manifest/normalize.d.ts.map +1 -1
- package/dist/manifest/normalize.js +41 -6
- package/dist/manifest/normalize.js.map +1 -1
- package/dist/manifest/types.d.ts +15 -10
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/manifest/types.js.map +1 -1
- package/dist/registry/capabilities.d.ts +6 -0
- package/dist/registry/capabilities.d.ts.map +1 -0
- package/dist/registry/capabilities.js +14 -0
- package/dist/registry/capabilities.js.map +1 -0
- package/dist/registry/environments.d.ts +5 -0
- package/dist/registry/environments.d.ts.map +1 -0
- package/dist/registry/environments.js +106 -0
- package/dist/registry/environments.js.map +1 -0
- package/dist/registry/index.d.ts +23 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +85 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/instruction-fragments.d.ts +11 -0
- package/dist/registry/instruction-fragments.d.ts.map +1 -0
- package/dist/{components/agent-fragments.js → registry/instruction-fragments.js} +22 -73
- package/dist/registry/instruction-fragments.js.map +1 -0
- package/dist/registry/models.d.ts +3 -0
- package/dist/registry/models.d.ts.map +1 -0
- package/dist/registry/models.js +46 -0
- package/dist/registry/models.js.map +1 -0
- package/dist/registry/policy-fragments.d.ts +6 -0
- package/dist/registry/policy-fragments.d.ts.map +1 -0
- package/dist/registry/policy-fragments.js +49 -0
- package/dist/registry/policy-fragments.js.map +1 -0
- package/dist/registry/skills.d.ts +5 -0
- package/dist/registry/skills.d.ts.map +1 -0
- package/dist/registry/skills.js +182 -0
- package/dist/registry/skills.js.map +1 -0
- package/dist/registry/traits.d.ts +16 -0
- package/dist/registry/traits.d.ts.map +1 -0
- package/dist/registry/traits.js +109 -0
- package/dist/registry/traits.js.map +1 -0
- package/dist/registry/types.d.ts +77 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +21 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/renderers/claude/docs.d.ts +0 -1
- package/dist/renderers/claude/docs.d.ts.map +1 -1
- package/dist/renderers/claude/docs.js +0 -95
- package/dist/renderers/claude/docs.js.map +1 -1
- package/dist/renderers/claude/index.d.ts.map +1 -1
- package/dist/renderers/claude/index.js +1 -2
- package/dist/renderers/claude/index.js.map +1 -1
- package/dist/renderers/claude/skill-map.d.ts +8 -8
- package/dist/renderers/claude/skill-map.d.ts.map +1 -1
- package/dist/renderers/claude/skill-map.js +9 -9
- package/dist/renderers/claude/skill-map.js.map +1 -1
- package/dist/renderers/claude/skill-md.d.ts.map +1 -1
- package/dist/renderers/claude/skill-md.js +73 -5
- package/dist/renderers/claude/skill-md.js.map +1 -1
- package/dist/renderers/codex/agents-md.d.ts +4 -0
- package/dist/renderers/codex/agents-md.d.ts.map +1 -0
- package/dist/renderers/codex/agents-md.js +94 -0
- package/dist/renderers/codex/agents-md.js.map +1 -0
- package/dist/renderers/codex/index.d.ts.map +1 -1
- package/dist/renderers/codex/index.js +4 -0
- package/dist/renderers/codex/index.js.map +1 -1
- package/dist/renderers/codex/skill-map.d.ts +3 -4
- package/dist/renderers/codex/skill-map.d.ts.map +1 -1
- package/dist/renderers/codex/skill-map.js +1 -1
- package/dist/renderers/codex/skill-map.js.map +1 -1
- package/dist/renderers/codex/skill-md.d.ts +4 -0
- package/dist/renderers/codex/skill-md.d.ts.map +1 -0
- package/dist/renderers/codex/skill-md.js +125 -0
- package/dist/renderers/codex/skill-md.js.map +1 -0
- package/dist/renderers/target-context.d.ts +3 -4
- package/dist/renderers/target-context.d.ts.map +1 -1
- package/dist/team-templates/policies.js +1 -1
- package/dist/team-templates/policies.js.map +1 -1
- package/dist/team-templates/presets.d.ts.map +1 -1
- package/dist/team-templates/presets.js +5 -8
- package/dist/team-templates/presets.js.map +1 -1
- package/dist/team-templates/roles.d.ts +3 -3
- package/dist/team-templates/roles.d.ts.map +1 -1
- package/dist/team-templates/roles.js +2 -4
- package/dist/team-templates/roles.js.map +1 -1
- package/dist/types/manifest.d.ts +2 -2
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +3 -3
- package/dist/types/manifest.js.map +1 -1
- package/dist/utils/skill-prompt-options.d.ts +4 -0
- package/dist/utils/skill-prompt-options.d.ts.map +1 -0
- package/dist/utils/skill-prompt-options.js +12 -0
- package/dist/utils/skill-prompt-options.js.map +1 -0
- package/dist/validator/checks/capability-policy.d.ts +5 -0
- package/dist/validator/checks/capability-policy.d.ts.map +1 -0
- package/dist/validator/checks/capability-policy.js +40 -0
- package/dist/validator/checks/capability-policy.js.map +1 -0
- package/dist/validator/checks/capability-tools.d.ts +5 -0
- package/dist/validator/checks/capability-tools.d.ts.map +1 -0
- package/dist/validator/checks/capability-tools.js +23 -0
- package/dist/validator/checks/capability-tools.js.map +1 -0
- package/dist/validator/checks/environment.d.ts +8 -0
- package/dist/validator/checks/environment.d.ts.map +1 -0
- package/dist/validator/checks/environment.js +28 -0
- package/dist/validator/checks/environment.js.map +1 -0
- package/dist/validator/checks/handoff-graph.d.ts +2 -2
- package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
- package/dist/validator/checks/handoff-graph.js +2 -2
- package/dist/validator/checks/handoff-graph.js.map +1 -1
- package/dist/validator/checks/instructions.d.ts +5 -0
- package/dist/validator/checks/instructions.d.ts.map +1 -0
- package/dist/validator/checks/instructions.js +169 -0
- package/dist/validator/checks/instructions.js.map +1 -0
- package/dist/validator/checks/manifest-registry.d.ts +8 -0
- package/dist/validator/checks/manifest-registry.d.ts.map +1 -0
- package/dist/validator/checks/manifest-registry.js +68 -0
- package/dist/validator/checks/manifest-registry.js.map +1 -0
- package/dist/validator/checks/mcp.d.ts +4 -0
- package/dist/validator/checks/mcp.d.ts.map +1 -0
- package/dist/validator/checks/mcp.js +73 -0
- package/dist/validator/checks/mcp.js.map +1 -0
- package/dist/validator/checks/policy-coherence.d.ts +4 -0
- package/dist/validator/checks/policy-coherence.d.ts.map +1 -0
- package/dist/validator/checks/policy-coherence.js +69 -0
- package/dist/validator/checks/policy-coherence.js.map +1 -0
- package/dist/validator/checks/registry.d.ts +8 -0
- package/dist/validator/checks/registry.d.ts.map +1 -0
- package/dist/validator/checks/registry.js +23 -0
- package/dist/validator/checks/registry.js.map +1 -0
- package/dist/validator/checks/role-warnings.d.ts +2 -2
- package/dist/validator/checks/role-warnings.d.ts.map +1 -1
- package/dist/validator/checks/role-warnings.js +5 -5
- package/dist/validator/checks/role-warnings.js.map +1 -1
- package/dist/validator/checks/runtime-models.d.ts +4 -0
- package/dist/validator/checks/runtime-models.d.ts.map +1 -0
- package/dist/validator/checks/runtime-models.js +14 -0
- package/dist/validator/checks/runtime-models.js.map +1 -0
- package/dist/validator/checks/skill-requirements.d.ts +5 -0
- package/dist/validator/checks/skill-requirements.d.ts.map +1 -0
- package/dist/validator/checks/skill-requirements.js +143 -0
- package/dist/validator/checks/skill-requirements.js.map +1 -0
- package/dist/validator/checks/team-graph-enhanced.d.ts +4 -0
- package/dist/validator/checks/team-graph-enhanced.d.ts.map +1 -0
- package/dist/validator/checks/team-graph-enhanced.js +71 -0
- package/dist/validator/checks/team-graph-enhanced.js.map +1 -0
- package/dist/validator/checks/tool-conflicts.d.ts +2 -2
- package/dist/validator/checks/tool-conflicts.d.ts.map +1 -1
- package/dist/validator/checks/tool-conflicts.js +3 -3
- package/dist/validator/checks/tool-conflicts.js.map +1 -1
- package/dist/validator/checks/trait-capability.d.ts +4 -0
- package/dist/validator/checks/trait-capability.d.ts.map +1 -0
- package/dist/validator/checks/trait-capability.js +23 -0
- package/dist/validator/checks/trait-capability.js.map +1 -0
- package/dist/validator/heuristics.d.ts +25 -0
- package/dist/validator/heuristics.d.ts.map +1 -0
- package/dist/validator/heuristics.js +87 -0
- package/dist/validator/heuristics.js.map +1 -0
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +24 -4
- package/dist/validator/index.js.map +1 -1
- package/dist/validator/reporter.d.ts.map +1 -1
- package/dist/validator/reporter.js +37 -10
- package/dist/validator/reporter.js.map +1 -1
- package/dist/validator/types.d.ts +3 -0
- package/dist/validator/types.d.ts.map +1 -1
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +2 -5
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
- package/dist/wizard/steps/agent-customization.js +6 -19
- package/dist/wizard/steps/agent-customization.js.map +1 -1
- package/dist/wizard/steps/environment-selection.d.ts +11 -0
- package/dist/wizard/steps/environment-selection.d.ts.map +1 -0
- package/dist/wizard/steps/environment-selection.js +46 -0
- package/dist/wizard/steps/environment-selection.js.map +1 -0
- package/package.json +5 -5
- package/schema/teamcast.schema.json +30 -11
- package/templates/presets/feature-team.yaml +30 -10
- package/templates/presets/research-and-build.yaml +28 -3
- package/templates/presets/secure-dev.yaml +33 -0
- package/templates/presets/solo-dev.yaml +9 -0
- package/dist/components/agent-fragments.d.ts +0 -15
- package/dist/components/agent-fragments.d.ts.map +0 -1
- package/dist/components/agent-fragments.js.map +0 -1
- package/dist/components/policy-fragments.d.ts +0 -5
- package/dist/components/policy-fragments.d.ts.map +0 -1
- package/dist/components/policy-fragments.js +0 -88
- package/dist/components/policy-fragments.js.map +0 -1
- package/dist/core/index.d.ts +0 -8
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -8
- package/dist/core/index.js.map +0 -1
- package/dist/core/skill-resolver.d.ts +0 -8
- package/dist/core/skill-resolver.d.ts.map +0 -1
- package/dist/core/skill-resolver.js +0 -17
- package/dist/core/skill-resolver.js.map +0 -1
- package/dist/core/skills.d.ts +0 -4
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/skills.js +0 -14
- package/dist/core/skills.js.map +0 -1
- package/dist/plugins/catalog.d.ts +0 -10
- package/dist/plugins/catalog.d.ts.map +0 -1
- package/dist/plugins/catalog.js +0 -30
- package/dist/plugins/catalog.js.map +0 -1
- package/dist/plugins/core/models-plugin.d.ts +0 -3
- package/dist/plugins/core/models-plugin.d.ts.map +0 -1
- package/dist/plugins/core/models-plugin.js +0 -50
- package/dist/plugins/core/models-plugin.js.map +0 -1
- package/dist/plugins/core/presets-plugin.d.ts +0 -3
- package/dist/plugins/core/presets-plugin.d.ts.map +0 -1
- package/dist/plugins/core/presets-plugin.js +0 -10
- package/dist/plugins/core/presets-plugin.js.map +0 -1
- package/dist/plugins/core/tools-plugin.d.ts +0 -3
- package/dist/plugins/core/tools-plugin.d.ts.map +0 -1
- package/dist/plugins/core/tools-plugin.js +0 -44
- package/dist/plugins/core/tools-plugin.js.map +0 -1
- package/dist/plugins/environments/node-env-plugin.d.ts +0 -3
- package/dist/plugins/environments/node-env-plugin.d.ts.map +0 -1
- package/dist/plugins/environments/node-env-plugin.js +0 -31
- package/dist/plugins/environments/node-env-plugin.js.map +0 -1
- package/dist/plugins/environments/python-env-plugin.d.ts +0 -3
- package/dist/plugins/environments/python-env-plugin.d.ts.map +0 -1
- package/dist/plugins/environments/python-env-plugin.js +0 -33
- package/dist/plugins/environments/python-env-plugin.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -3
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -14
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/inject.d.ts +0 -7
- package/dist/plugins/inject.d.ts.map +0 -1
- package/dist/plugins/inject.js +0 -48
- package/dist/plugins/inject.js.map +0 -1
- package/dist/plugins/merge-policies.d.ts +0 -8
- package/dist/plugins/merge-policies.d.ts.map +0 -1
- package/dist/plugins/merge-policies.js +0 -90
- package/dist/plugins/merge-policies.js.map +0 -1
- package/dist/plugins/registry.d.ts +0 -27
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -97
- package/dist/plugins/registry.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -75
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -2
- package/dist/plugins/types.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -6
- package/dist/renderers/index.d.ts.map +0 -1
- package/dist/renderers/index.js +0 -4
- package/dist/renderers/index.js.map +0 -1
- package/dist/validator/checks/instruction-blocks.d.ts +0 -5
- package/dist/validator/checks/instruction-blocks.d.ts.map +0 -1
- package/dist/validator/checks/instruction-blocks.js +0 -47
- package/dist/validator/checks/instruction-blocks.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wizard step: let the user select which runtime environments to activate.
|
|
3
|
+
*/
|
|
4
|
+
export declare function stepEnvironmentSelection(cwd: string, currentEnvironments: string[] | undefined, options?: {
|
|
5
|
+
nonInteractive?: boolean;
|
|
6
|
+
}): Promise<string[] | undefined>;
|
|
7
|
+
/**
|
|
8
|
+
* Non-interactive: merge current environments with auto-detected ones.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveDetectedEnvironments(cwd: string, currentEnvironments: string[] | undefined): string[] | undefined;
|
|
11
|
+
//# sourceMappingURL=environment-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-selection.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/environment-selection.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,EACzC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAgC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,GACxC,MAAM,EAAE,GAAG,SAAS,CAGtB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { detectEnvironments, listEnvironments } from '../../registry/environments.js';
|
|
3
|
+
import { isEnvironmentId } from '../../registry/types.js';
|
|
4
|
+
import { promptCheckbox } from '../../utils/prompts.js';
|
|
5
|
+
function mergeEnvironmentIds(...lists) {
|
|
6
|
+
return [...new Set(lists.flatMap((list) => list ?? []))].filter(isEnvironmentId);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Wizard step: let the user select which runtime environments to activate.
|
|
10
|
+
*/
|
|
11
|
+
export async function stepEnvironmentSelection(cwd, currentEnvironments, options) {
|
|
12
|
+
const detectedIds = detectEnvironments(cwd);
|
|
13
|
+
if (options?.nonInteractive) {
|
|
14
|
+
const merged = mergeEnvironmentIds(currentEnvironments, detectedIds);
|
|
15
|
+
return merged.length > 0 ? merged : undefined;
|
|
16
|
+
}
|
|
17
|
+
const allEnvs = listEnvironments();
|
|
18
|
+
const currentSet = new Set(currentEnvironments ?? []);
|
|
19
|
+
const detectedSet = new Set(detectedIds);
|
|
20
|
+
const selected = await promptCheckbox({
|
|
21
|
+
message: 'Select runtime environments to activate:',
|
|
22
|
+
choices: allEnvs.map((env) => {
|
|
23
|
+
const tags = [];
|
|
24
|
+
if (detectedSet.has(env.id)) {
|
|
25
|
+
tags.push('detected');
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
name: `${chalk.bold(env.id)} ${chalk.dim([
|
|
29
|
+
env.description,
|
|
30
|
+
...tags,
|
|
31
|
+
].join(' | '))}`,
|
|
32
|
+
value: env.id,
|
|
33
|
+
checked: currentSet.has(env.id) || detectedSet.has(env.id),
|
|
34
|
+
};
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
return selected.length > 0 ? selected : undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Non-interactive: merge current environments with auto-detected ones.
|
|
41
|
+
*/
|
|
42
|
+
export function resolveDetectedEnvironments(cwd, currentEnvironments) {
|
|
43
|
+
const merged = mergeEnvironmentIds(currentEnvironments, detectEnvironments(cwd));
|
|
44
|
+
return merged.length > 0 ? merged : undefined;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=environment-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-selection.js","sourceRoot":"","sources":["../../../src/wizard/steps/environment-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,SAAS,mBAAmB,CAAC,GAAG,KAAkC;IAChE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAW,EACX,mBAAyC,EACzC,OAAsC;IAEtC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAS;QAC5C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;oBACxC,GAAG,CAAC,WAAW;oBACf,GAAG,IAAI;iBACR,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAW,EACX,mBAAyC;IAEzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "teamcast",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "YAML-driven CLI to design, validate, and generate multi-target agent teams for Claude Code and Codex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"teamcast": "./dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "tsc",
|
|
10
|
+
"build": "node scripts/clean-dist.mjs && tsc",
|
|
11
11
|
"dev": "tsx src/index.ts",
|
|
12
12
|
"test": "vitest run",
|
|
13
13
|
"test:watch": "vitest",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"url": "https://github.com/Katoshy/teamcast/issues"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|
|
49
|
-
"node": ">=
|
|
49
|
+
"node": ">=24"
|
|
50
50
|
},
|
|
51
51
|
"exports": {
|
|
52
52
|
".": {
|
|
@@ -58,13 +58,13 @@
|
|
|
58
58
|
"ajv": "^8.17.1",
|
|
59
59
|
"chalk": "^5.3.0",
|
|
60
60
|
"commander": "^12.1.0",
|
|
61
|
-
"inquirer": "^
|
|
61
|
+
"inquirer": "^13.3.0",
|
|
62
62
|
"yaml": "^2.6.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/node": "^22.10.0",
|
|
66
66
|
"tsx": "^4.19.2",
|
|
67
67
|
"typescript": "^5.7.2",
|
|
68
|
-
"vitest": "^2.
|
|
68
|
+
"vitest": "^3.2.4"
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -26,15 +26,17 @@
|
|
|
26
26
|
},
|
|
27
27
|
"description": {
|
|
28
28
|
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"environments": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["node", "python"]
|
|
35
|
+
},
|
|
36
|
+
"description": "Runtime environments to activate (e.g., node, python)"
|
|
29
37
|
}
|
|
30
38
|
}
|
|
31
39
|
},
|
|
32
|
-
"plugins": {
|
|
33
|
-
"type": "array",
|
|
34
|
-
"items": {
|
|
35
|
-
"type": "string"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
40
|
"claude": {
|
|
39
41
|
"$ref": "#/definitions/TargetConfig"
|
|
40
42
|
},
|
|
@@ -89,9 +91,12 @@
|
|
|
89
91
|
"command-execution",
|
|
90
92
|
"web-research",
|
|
91
93
|
"delegation",
|
|
94
|
+
"interaction",
|
|
95
|
+
"notebook-editing",
|
|
92
96
|
"no-file-edits",
|
|
93
97
|
"no-commands",
|
|
94
|
-
"no-web"
|
|
98
|
+
"no-web",
|
|
99
|
+
"full-access"
|
|
95
100
|
]
|
|
96
101
|
},
|
|
97
102
|
"InstructionFragmentName": {
|
|
@@ -146,12 +151,8 @@
|
|
|
146
151
|
"PolicyFragmentName": {
|
|
147
152
|
"type": "string",
|
|
148
153
|
"enum": [
|
|
149
|
-
"allow-npm-run",
|
|
150
|
-
"allow-npm-test",
|
|
151
154
|
"allow-git-read",
|
|
152
155
|
"allow-git-write",
|
|
153
|
-
"allow-npx",
|
|
154
|
-
"allow-npm-audit",
|
|
155
156
|
"ask-git-push",
|
|
156
157
|
"deny-destructive-shell",
|
|
157
158
|
"deny-network-downloads",
|
|
@@ -262,12 +263,30 @@
|
|
|
262
263
|
"type": "array",
|
|
263
264
|
"items": { "$ref": "#/definitions/InstructionBlock" }
|
|
264
265
|
},
|
|
266
|
+
"skill_blocks": {
|
|
267
|
+
"type": "array",
|
|
268
|
+
"items": { "$ref": "#/definitions/SkillBlock" }
|
|
269
|
+
},
|
|
265
270
|
"background": {
|
|
266
271
|
"type": "boolean"
|
|
267
272
|
},
|
|
268
273
|
"forge": { "$ref": "#/definitions/ForgeAgentMetadata" }
|
|
269
274
|
}
|
|
270
275
|
},
|
|
276
|
+
"SkillBlock": {
|
|
277
|
+
"type": "object",
|
|
278
|
+
"required": ["name", "description", "instructions"],
|
|
279
|
+
"additionalProperties": false,
|
|
280
|
+
"properties": {
|
|
281
|
+
"name": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
|
|
282
|
+
"description": { "type": "string" },
|
|
283
|
+
"instructions": { "type": "string" },
|
|
284
|
+
"allowed_tools": {
|
|
285
|
+
"type": "array",
|
|
286
|
+
"items": { "type": "string" }
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
271
290
|
"ForgeAgentMetadata": {
|
|
272
291
|
"type": "object",
|
|
273
292
|
"additionalProperties": false,
|
|
@@ -43,10 +43,13 @@ claude:
|
|
|
43
43
|
max_turns: 30
|
|
44
44
|
instruction_blocks:
|
|
45
45
|
- kind: behavior
|
|
46
|
-
content:
|
|
47
|
-
You are the team coordinator.
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
content: |
|
|
47
|
+
You are the team coordinator. Triage every incoming task before acting:
|
|
48
|
+
- Bug report or regression -> delegate to planner for root-cause analysis, then developer to fix
|
|
49
|
+
- New feature or enhancement -> delegate to planner for design, then developer to implement, then reviewer to sign off
|
|
50
|
+
- Refactor or cleanup -> delegate directly to developer, then reviewer
|
|
51
|
+
Never write or edit code yourself. Your output is always a delegation message or a final summary.
|
|
52
|
+
When delegating, state the goal, the relevant files, and the expected output format.
|
|
50
53
|
instruction_fragments:
|
|
51
54
|
- feature-orchestrator-workflow
|
|
52
55
|
- feature-orchestrator-output
|
|
@@ -64,9 +67,13 @@ claude:
|
|
|
64
67
|
- planning
|
|
65
68
|
instruction_blocks:
|
|
66
69
|
- kind: behavior
|
|
67
|
-
content:
|
|
68
|
-
You are the planner.
|
|
69
|
-
|
|
70
|
+
content: |
|
|
71
|
+
You are the planner. Produce a step-by-step implementation plan that includes:
|
|
72
|
+
- Numbered steps with specific file paths and function names
|
|
73
|
+
- Affected files and any new files that need to be created
|
|
74
|
+
- External dependencies or breaking changes to call out
|
|
75
|
+
- Risks or edge cases the developer must handle
|
|
76
|
+
Do NOT include code snippets or make any file edits. Your output is a plan document only.
|
|
70
77
|
instruction_fragments:
|
|
71
78
|
- feature-planner-workflow
|
|
72
79
|
- feature-planner-read-only
|
|
@@ -82,6 +89,14 @@ claude:
|
|
|
82
89
|
skills:
|
|
83
90
|
- test-first
|
|
84
91
|
- clean-code
|
|
92
|
+
instruction_blocks:
|
|
93
|
+
- kind: behavior
|
|
94
|
+
content: |
|
|
95
|
+
You are the developer. Implement the plan you have been given precisely.
|
|
96
|
+
Write a failing test first, then implement the minimum code to make it pass.
|
|
97
|
+
Follow existing patterns in the codebase — read similar files before writing new ones.
|
|
98
|
+
Keep changes small and focused. One logical change per step.
|
|
99
|
+
When done, run tests, confirm they pass, then summarize what changed and why.
|
|
85
100
|
instruction_fragments:
|
|
86
101
|
- feature-developer-core
|
|
87
102
|
- feature-developer-workflow
|
|
@@ -100,9 +115,14 @@ claude:
|
|
|
100
115
|
- security-check
|
|
101
116
|
instruction_blocks:
|
|
102
117
|
- kind: behavior
|
|
103
|
-
content:
|
|
104
|
-
You are the reviewer.
|
|
105
|
-
|
|
118
|
+
content: |
|
|
119
|
+
You are the reviewer. Check each changed file against this checklist:
|
|
120
|
+
- Types: no implicit any, all function signatures typed, no unsafe casts
|
|
121
|
+
- Imports: no unused imports, no missing .js extensions in relative imports
|
|
122
|
+
- Logic: correct edge case handling, no off-by-one errors, no unhandled rejections
|
|
123
|
+
- Tests: new behavior covered, no tests deleted without explanation
|
|
124
|
+
- Security: no secrets in code, no SQL/command injection surface, inputs validated
|
|
125
|
+
Output a structured review with Pass/Fail per category and specific line references for failures.
|
|
106
126
|
instruction_fragments:
|
|
107
127
|
- feature-reviewer-checklist
|
|
108
128
|
- feature-reviewer-style
|
|
@@ -35,6 +35,14 @@ claude:
|
|
|
35
35
|
- no-commands
|
|
36
36
|
- no-web
|
|
37
37
|
max_turns: 30
|
|
38
|
+
instruction_blocks:
|
|
39
|
+
- kind: behavior
|
|
40
|
+
content: |
|
|
41
|
+
You are the coordinator for a research-first team.
|
|
42
|
+
If the task requires external knowledge (APIs, libraries, standards) -> delegate to researcher first.
|
|
43
|
+
If the task is purely about the existing codebase -> skip researcher and go directly to planner.
|
|
44
|
+
Once research is complete, delegate to planner with the findings attached.
|
|
45
|
+
Once a plan exists, delegate to developer. Never write code yourself.
|
|
38
46
|
instruction_fragments:
|
|
39
47
|
- research-orchestrator-core
|
|
40
48
|
- research-orchestrator-workflow
|
|
@@ -53,9 +61,12 @@ claude:
|
|
|
53
61
|
- source-validation
|
|
54
62
|
instruction_blocks:
|
|
55
63
|
- kind: behavior
|
|
56
|
-
content:
|
|
57
|
-
You are the researcher.
|
|
58
|
-
|
|
64
|
+
content: |
|
|
65
|
+
You are the researcher. Find accurate, current information from trusted sources.
|
|
66
|
+
Prefer official documentation, RFCs, and maintained libraries over blog posts or forums.
|
|
67
|
+
For each finding, cite: source URL or doc path, access date, and confidence level (high/medium/low).
|
|
68
|
+
Structure your output as: Summary -> Key Findings (bullet list) -> Sources -> Open Questions.
|
|
69
|
+
Do not modify any project files. Your output is a research report only.
|
|
59
70
|
instruction_fragments:
|
|
60
71
|
- research-citation
|
|
61
72
|
- research-no-file-edits
|
|
@@ -71,6 +82,13 @@ claude:
|
|
|
71
82
|
skills:
|
|
72
83
|
- architecture-analysis
|
|
73
84
|
- planning
|
|
85
|
+
instruction_blocks:
|
|
86
|
+
- kind: behavior
|
|
87
|
+
content: |
|
|
88
|
+
You are the planner. Integrate the research findings with your codebase analysis to produce a plan.
|
|
89
|
+
Each step must reference specific file paths and note which research finding it relies on.
|
|
90
|
+
If a research finding contradicts the current implementation, flag it explicitly.
|
|
91
|
+
Do not invent facts not present in the research report or the codebase. Do not write code.
|
|
74
92
|
instruction_fragments:
|
|
75
93
|
- research-planner-core
|
|
76
94
|
- research-planner-constraints
|
|
@@ -86,6 +104,13 @@ claude:
|
|
|
86
104
|
skills:
|
|
87
105
|
- test-first
|
|
88
106
|
- clean-code
|
|
107
|
+
instruction_blocks:
|
|
108
|
+
- kind: behavior
|
|
109
|
+
content: |
|
|
110
|
+
You are the developer. Implement only what the plan specifies. You have no internet access.
|
|
111
|
+
If the plan references information you do not have, stop and ask the orchestrator to escalate to researcher.
|
|
112
|
+
Never guess at API shapes, library behavior, or external conventions — escalate instead.
|
|
113
|
+
Write tests alongside code. When done, run tests and summarize what was implemented.
|
|
89
114
|
instruction_fragments:
|
|
90
115
|
- research-developer-core
|
|
91
116
|
- research-handoff
|
|
@@ -49,6 +49,14 @@ claude:
|
|
|
49
49
|
- no-commands
|
|
50
50
|
- no-web
|
|
51
51
|
max_turns: 30
|
|
52
|
+
instruction_blocks:
|
|
53
|
+
- kind: behavior
|
|
54
|
+
content: |
|
|
55
|
+
You are the security-conscious coordinator. Every change must follow this pipeline:
|
|
56
|
+
planner -> developer -> security-auditor -> reviewer
|
|
57
|
+
Never skip the security-auditor step, even for small changes.
|
|
58
|
+
If the security-auditor raises a critical issue, route back to developer before proceeding.
|
|
59
|
+
Never write or edit code yourself.
|
|
52
60
|
instruction_fragments:
|
|
53
61
|
- secure-orchestrator-core
|
|
54
62
|
- secure-orchestrator-workflow
|
|
@@ -66,6 +74,14 @@ claude:
|
|
|
66
74
|
- architecture-analysis
|
|
67
75
|
- planning
|
|
68
76
|
- threat-modeling
|
|
77
|
+
instruction_blocks:
|
|
78
|
+
- kind: behavior
|
|
79
|
+
content: |
|
|
80
|
+
You are the planner. Every plan must include a threat model section:
|
|
81
|
+
- Trust boundaries: which inputs cross trust levels, which callers are untrusted
|
|
82
|
+
- Attack surfaces introduced or expanded by this change
|
|
83
|
+
- Recommended validation, sanitization, and error handling at each boundary
|
|
84
|
+
Keep the plan actionable. Do not write code.
|
|
69
85
|
instruction_fragments:
|
|
70
86
|
- secure-planning
|
|
71
87
|
developer:
|
|
@@ -80,6 +96,15 @@ claude:
|
|
|
80
96
|
- test-first
|
|
81
97
|
- clean-code
|
|
82
98
|
- secure-coding
|
|
99
|
+
instruction_blocks:
|
|
100
|
+
- kind: behavior
|
|
101
|
+
content: |
|
|
102
|
+
You are the developer. Apply secure defaults on every change:
|
|
103
|
+
- Validate and sanitize all inputs at system boundaries before use
|
|
104
|
+
- Use parameterized queries — never concatenate user input into SQL or shell commands
|
|
105
|
+
- Apply least privilege: request only the permissions the code actually needs
|
|
106
|
+
- Never log credentials, tokens, or PII — use redacted placeholders
|
|
107
|
+
Write security-focused tests alongside functional tests.
|
|
83
108
|
instruction_fragments:
|
|
84
109
|
- secure-development
|
|
85
110
|
- secure-development-tests
|
|
@@ -116,6 +141,14 @@ claude:
|
|
|
116
141
|
- no-web
|
|
117
142
|
skills:
|
|
118
143
|
- code-review
|
|
144
|
+
instruction_blocks:
|
|
145
|
+
- kind: behavior
|
|
146
|
+
content: |
|
|
147
|
+
You are the reviewer. Code has already passed security audit — focus on quality.
|
|
148
|
+
Check: readability, naming clarity, function size (prefer small focused functions), duplication.
|
|
149
|
+
Check: test coverage for new branches, meaningful test names, no commented-out code left behind.
|
|
150
|
+
Check: error messages are user-friendly and do not leak internals.
|
|
151
|
+
Output a structured review. Do not modify files yourself.
|
|
119
152
|
instruction_fragments:
|
|
120
153
|
- post-audit-review-core
|
|
121
154
|
- post-audit-review
|
|
@@ -32,6 +32,15 @@ claude:
|
|
|
32
32
|
- test-first
|
|
33
33
|
- clean-code
|
|
34
34
|
- planning
|
|
35
|
+
instruction_blocks:
|
|
36
|
+
- kind: behavior
|
|
37
|
+
content: |
|
|
38
|
+
You are a capable full-stack developer. Handle the task end-to-end.
|
|
39
|
+
For tasks touching more than two files, sketch a brief plan before writing code.
|
|
40
|
+
For simple changes, implement directly — no ceremony needed.
|
|
41
|
+
Always write or update tests alongside implementation. Run tests before declaring done.
|
|
42
|
+
Follow existing code style and patterns. Keep changes focused and minimal.
|
|
43
|
+
When done, summarize what changed and why in plain language.
|
|
35
44
|
instruction_fragments:
|
|
36
45
|
- solo-dev-core
|
|
37
46
|
- solo-dev-workflow
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { InstructionBlock } from '../core/instructions.js';
|
|
2
|
-
import type { AgentRuntime } from '../core/types.js';
|
|
3
|
-
import { type SkillToolMap } from '../core/skill-resolver.js';
|
|
4
|
-
export type CapabilityTraitName = 'base-read' | 'file-authoring' | 'command-execution' | 'web-research' | 'delegation' | 'no-file-edits' | 'no-commands' | 'no-web';
|
|
5
|
-
export type InstructionFragmentName = 'coordination-core' | 'delegate-first' | 'planning-core' | 'planning-read-only' | 'research-core' | 'research-citation' | 'research-no-file-edits' | 'development-core' | 'development-workflow' | 'tester-core' | 'tester-read-only' | 'review-core' | 'review-feedback' | 'security-audit-core' | 'security-audit-severity' | 'research-handoff' | 'secure-planning' | 'secure-development' | 'secure-development-tests' | 'security-review-gate' | 'post-audit-review' | 'solo-dev-core' | 'solo-dev-workflow' | 'solo-dev-style' | 'feature-orchestrator-workflow' | 'feature-orchestrator-output' | 'feature-planner-workflow' | 'feature-planner-read-only' | 'feature-developer-core' | 'feature-developer-workflow' | 'feature-developer-summary' | 'feature-reviewer-checklist' | 'feature-reviewer-style' | 'research-orchestrator-core' | 'research-orchestrator-workflow' | 'research-orchestrator-output' | 'research-planner-core' | 'research-planner-constraints' | 'research-developer-core' | 'research-developer-tests' | 'secure-orchestrator-core' | 'secure-orchestrator-workflow' | 'secure-orchestrator-gate' | 'post-audit-review-core';
|
|
6
|
-
export declare function listCapabilityTraits(): CapabilityTraitName[];
|
|
7
|
-
export declare function listInstructionFragments(): InstructionFragmentName[];
|
|
8
|
-
/**
|
|
9
|
-
* Resolve capability traits to allowed/disallowed tool lists using the provided skill mapping.
|
|
10
|
-
* Pass the platform-specific skill map (e.g. CLAUDE_SKILL_MAP) from the caller layer.
|
|
11
|
-
*/
|
|
12
|
-
export declare function resolveCapabilityTraits(traits: CapabilityTraitName[] | undefined, skillMap: SkillToolMap): Pick<AgentRuntime, 'tools' | 'disallowedTools'>;
|
|
13
|
-
export declare function resolveInstructionFragments(fragments: InstructionFragmentName[] | undefined, extraBlocks?: InstructionBlock[]): InstructionBlock[];
|
|
14
|
-
export declare function mergeRuntimeWithTraits(base: Omit<AgentRuntime, 'tools' | 'disallowedTools'> & Pick<AgentRuntime, 'tools' | 'disallowedTools'>, capabilityTraits: CapabilityTraitName[] | undefined, skillMap: SkillToolMap): AgentRuntime;
|
|
15
|
-
//# sourceMappingURL=agent-fragments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-fragments.d.ts","sourceRoot":"","sources":["../../src/components/agent-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,gBAAgB,GAChB,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,MAAM,uBAAuB,GAC/B,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,mBAAmB,GACnB,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,aAAa,GACb,kBAAkB,GAClB,aAAa,GACb,iBAAiB,GACjB,qBAAqB,GACrB,yBAAyB,GACzB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,0BAA0B,GAC1B,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,GACf,mBAAmB,GACnB,gBAAgB,GAChB,+BAA+B,GAC/B,6BAA6B,GAC7B,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,4BAA4B,GAC5B,2BAA2B,GAC3B,4BAA4B,GAC5B,wBAAwB,GACxB,4BAA4B,GAC5B,gCAAgC,GAChC,8BAA8B,GAC9B,uBAAuB,GACvB,8BAA8B,GAC9B,yBAAyB,GACzB,0BAA0B,GAC1B,0BAA0B,GAC1B,8BAA8B,GAC9B,0BAA0B,GAC1B,wBAAwB,CAAC;AAgQ7B,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAE5D;AAED,wBAAgB,wBAAwB,IAAI,uBAAuB,EAAE,CAEpE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACzC,QAAQ,EAAE,YAAY,GACrB,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAsBjD;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAChD,WAAW,GAAE,gBAAgB,EAAO,GACnC,gBAAgB,EAAE,CAUpB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,iBAAiB,CAAC,EACvG,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACnD,QAAQ,EAAE,YAAY,GACrB,YAAY,CAOd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-fragments.js","sourceRoot":"","sources":["../../src/components/agent-fragments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { TeamPolicies } from '../core/types.js';
|
|
2
|
-
export type PolicyFragmentName = 'allow-git-read' | 'allow-git-write' | 'ask-git-push' | 'deny-destructive-shell' | 'deny-network-downloads' | 'deny-dynamic-exec' | 'deny-env-files' | 'sandbox-default';
|
|
3
|
-
export declare function listPolicyFragments(): PolicyFragmentName[];
|
|
4
|
-
export declare function composePoliciesFromFragments(fragments: PolicyFragmentName[] | undefined, overrides?: TeamPolicies): TeamPolicies;
|
|
5
|
-
//# sourceMappingURL=policy-fragments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-fragments.d.ts","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,wBAAwB,GACxB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,CAAC;AAmFtB,wBAAgB,mBAAmB,IAAI,kBAAkB,EAAE,CAE1D;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC3C,SAAS,GAAE,YAAiB,GAC3B,YAAY,CAWd"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
const POLICY_FRAGMENTS = {
|
|
2
|
-
'allow-git-read': {
|
|
3
|
-
permissions: { rules: { allow: ['Bash(git status)', 'Bash(git diff *)'] } }
|
|
4
|
-
},
|
|
5
|
-
'allow-git-write': {
|
|
6
|
-
permissions: { rules: { allow: ['Bash(git add *)', 'Bash(git commit *)'] } }
|
|
7
|
-
},
|
|
8
|
-
'ask-git-push': {
|
|
9
|
-
permissions: { rules: { ask: ['Bash(git push *)'] } }
|
|
10
|
-
},
|
|
11
|
-
'deny-destructive-shell': {
|
|
12
|
-
permissions: { rules: { deny: ['Bash(rm -rf *)', 'Bash(git push --force *)'] } }
|
|
13
|
-
},
|
|
14
|
-
'deny-network-downloads': {
|
|
15
|
-
permissions: { rules: { deny: ['Bash(curl *)', 'Bash(wget *)'] } }
|
|
16
|
-
},
|
|
17
|
-
'deny-dynamic-exec': {
|
|
18
|
-
permissions: { rules: { deny: ['Bash(eval *)', 'Bash(exec *)'] } }
|
|
19
|
-
},
|
|
20
|
-
'deny-env-files': {
|
|
21
|
-
permissions: { rules: { deny: ['Write(.env*)', 'Edit(.env*)'] } }
|
|
22
|
-
},
|
|
23
|
-
'sandbox-default': {
|
|
24
|
-
sandbox: {
|
|
25
|
-
enabled: true,
|
|
26
|
-
autoAllowBash: true,
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
function mergeUnique(left, right) {
|
|
31
|
-
const merged = [...(left ?? []), ...(right ?? [])];
|
|
32
|
-
return merged.length > 0 ? [...new Set(merged)] : undefined;
|
|
33
|
-
}
|
|
34
|
-
function mergePolicies(base, extra) {
|
|
35
|
-
return {
|
|
36
|
-
permissions: base.permissions || extra.permissions
|
|
37
|
-
? {
|
|
38
|
-
rules: base.permissions?.rules || extra.permissions?.rules
|
|
39
|
-
? {
|
|
40
|
-
allow: mergeUnique(base.permissions?.rules?.allow, extra.permissions?.rules?.allow),
|
|
41
|
-
ask: mergeUnique(base.permissions?.rules?.ask, extra.permissions?.rules?.ask),
|
|
42
|
-
deny: mergeUnique(base.permissions?.rules?.deny, extra.permissions?.rules?.deny),
|
|
43
|
-
}
|
|
44
|
-
: undefined,
|
|
45
|
-
defaultMode: extra.permissions?.defaultMode ?? base.permissions?.defaultMode,
|
|
46
|
-
}
|
|
47
|
-
: undefined,
|
|
48
|
-
sandbox: base.sandbox || extra.sandbox
|
|
49
|
-
? {
|
|
50
|
-
enabled: extra.sandbox?.enabled ?? base.sandbox?.enabled,
|
|
51
|
-
autoAllowBash: extra.sandbox?.autoAllowBash ?? base.sandbox?.autoAllowBash,
|
|
52
|
-
excludedCommands: mergeUnique(base.sandbox?.excludedCommands, extra.sandbox?.excludedCommands),
|
|
53
|
-
network: base.sandbox?.network || extra.sandbox?.network
|
|
54
|
-
? {
|
|
55
|
-
allowUnixSockets: mergeUnique(base.sandbox?.network?.allowUnixSockets, extra.sandbox?.network?.allowUnixSockets),
|
|
56
|
-
allowLocalBinding: extra.sandbox?.network?.allowLocalBinding ?? base.sandbox?.network?.allowLocalBinding,
|
|
57
|
-
}
|
|
58
|
-
: undefined,
|
|
59
|
-
}
|
|
60
|
-
: undefined,
|
|
61
|
-
hooks: base.hooks || extra.hooks
|
|
62
|
-
? {
|
|
63
|
-
preToolUse: [...(base.hooks?.preToolUse ?? []), ...(extra.hooks?.preToolUse ?? [])],
|
|
64
|
-
postToolUse: [...(base.hooks?.postToolUse ?? []), ...(extra.hooks?.postToolUse ?? [])],
|
|
65
|
-
notification: [...(base.hooks?.notification ?? []), ...(extra.hooks?.notification ?? [])],
|
|
66
|
-
}
|
|
67
|
-
: undefined,
|
|
68
|
-
network: base.network || extra.network
|
|
69
|
-
? {
|
|
70
|
-
allowedDomains: mergeUnique(base.network?.allowedDomains, extra.network?.allowedDomains),
|
|
71
|
-
}
|
|
72
|
-
: undefined,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
export function listPolicyFragments() {
|
|
76
|
-
return Object.keys(POLICY_FRAGMENTS);
|
|
77
|
-
}
|
|
78
|
-
export function composePoliciesFromFragments(fragments, overrides = {}) {
|
|
79
|
-
const composed = (fragments ?? []).reduce((acc, fragmentName) => {
|
|
80
|
-
const fragment = POLICY_FRAGMENTS[fragmentName];
|
|
81
|
-
if (!fragment) {
|
|
82
|
-
throw new Error(`Unknown policy fragment "${fragmentName}"`);
|
|
83
|
-
}
|
|
84
|
-
return mergePolicies(acc, fragment);
|
|
85
|
-
}, {});
|
|
86
|
-
return mergePolicies(composed, overrides);
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=policy-fragments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-fragments.js","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './types.js';
|
|
2
|
-
export * from './skills.js';
|
|
3
|
-
export * from './instructions.js';
|
|
4
|
-
export * from './assertions.js';
|
|
5
|
-
export * from './guards.js';
|
|
6
|
-
export * from './skill-resolver.js';
|
|
7
|
-
export { evaluatePolicyAssertions } from './policy-evaluator.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/core/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './types.js';
|
|
2
|
-
export * from './skills.js';
|
|
3
|
-
export * from './instructions.js';
|
|
4
|
-
export * from './assertions.js';
|
|
5
|
-
export * from './guards.js';
|
|
6
|
-
export * from './skill-resolver.js';
|
|
7
|
-
export { evaluatePolicyAssertions } from './policy-evaluator.js';
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AgentSkill } from './skills.js';
|
|
2
|
-
/** A skill-to-tool mapping provided by a renderer */
|
|
3
|
-
export type SkillToolMap = Record<AgentSkill, string[]>;
|
|
4
|
-
/** Expand abstract skills to platform tools using the provided mapping */
|
|
5
|
-
export declare function expandSkills(skills: AgentSkill[], mapping: SkillToolMap): string[];
|
|
6
|
-
/** Check if an agent (by its resolved tools) has a specific skill */
|
|
7
|
-
export declare function agentHasSkill(agentTools: string[], skill: AgentSkill, mapping: SkillToolMap): boolean;
|
|
8
|
-
//# sourceMappingURL=skill-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-resolver.d.ts","sourceRoot":"","sources":["../../src/core/skill-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAExD,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAOlF;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAGrG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/** Expand abstract skills to platform tools using the provided mapping */
|
|
2
|
-
export function expandSkills(skills, mapping) {
|
|
3
|
-
const toolSet = new Set();
|
|
4
|
-
for (const skill of skills) {
|
|
5
|
-
const tools = mapping[skill];
|
|
6
|
-
if (tools)
|
|
7
|
-
for (const tool of tools)
|
|
8
|
-
toolSet.add(tool);
|
|
9
|
-
}
|
|
10
|
-
return [...toolSet];
|
|
11
|
-
}
|
|
12
|
-
/** Check if an agent (by its resolved tools) has a specific skill */
|
|
13
|
-
export function agentHasSkill(agentTools, skill, mapping) {
|
|
14
|
-
const requiredTools = mapping[skill];
|
|
15
|
-
return requiredTools.length > 0 && requiredTools.some((t) => agentTools.includes(t));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=skill-resolver.js.map
|