teamcast 0.6.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/build-generated-files.d.ts +1 -1
- package/dist/application/build-generated-files.d.ts.map +1 -1
- package/dist/application/build-generated-files.js +4 -3
- package/dist/application/build-generated-files.js.map +1 -1
- package/dist/application/team.d.ts +19 -14
- package/dist/application/team.d.ts.map +1 -1
- package/dist/application/team.js +125 -51
- package/dist/application/team.js.map +1 -1
- package/dist/application/validate-team.d.ts +2 -19
- package/dist/application/validate-team.d.ts.map +1 -1
- package/dist/application/validate-team.js +38 -48
- package/dist/application/validate-team.js.map +1 -1
- package/dist/cli/explain.d.ts +1 -0
- package/dist/cli/explain.d.ts.map +1 -1
- package/dist/cli/explain.js +20 -1
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/generate.js +1 -1
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +75 -33
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +35 -16
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manage.d.ts.map +1 -1
- package/dist/cli/manage.js +199 -80
- package/dist/cli/manage.js.map +1 -1
- package/dist/cli/reset.d.ts.map +1 -1
- package/dist/cli/reset.js +36 -12
- package/dist/cli/reset.js.map +1 -1
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +6 -8
- package/dist/cli/validate.js.map +1 -1
- package/dist/components/policy-fragments.d.ts +1 -1
- package/dist/components/policy-fragments.d.ts.map +1 -1
- package/dist/components/policy-fragments.js +12 -49
- package/dist/components/policy-fragments.js.map +1 -1
- package/dist/core/index.d.ts +0 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +9 -12
- package/dist/core/types.d.ts.map +1 -1
- package/dist/detector/index.d.ts +0 -2
- package/dist/detector/index.d.ts.map +1 -1
- package/dist/detector/index.js +4 -10
- package/dist/detector/index.js.map +1 -1
- package/dist/diff/index.d.ts +2 -2
- package/dist/diff/index.d.ts.map +1 -1
- package/dist/diff/index.js +2 -2
- package/dist/diff/index.js.map +1 -1
- package/dist/explainer/index.d.ts +2 -1
- package/dist/explainer/index.d.ts.map +1 -1
- package/dist/explainer/index.js +29 -21
- package/dist/explainer/index.js.map +1 -1
- package/dist/generator/index.d.ts +2 -2
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +18 -5
- package/dist/generator/index.js.map +1 -1
- package/dist/importer/index.d.ts +3 -2
- package/dist/importer/index.d.ts.map +1 -1
- package/dist/importer/index.js +255 -39
- package/dist/importer/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest/defaults.d.ts +1 -2
- package/dist/manifest/defaults.d.ts.map +1 -1
- package/dist/manifest/defaults.js +12 -12
- package/dist/manifest/defaults.js.map +1 -1
- package/dist/manifest/normalize.d.ts +8 -4
- package/dist/manifest/normalize.d.ts.map +1 -1
- package/dist/manifest/normalize.js +97 -161
- package/dist/manifest/normalize.js.map +1 -1
- package/dist/manifest/reader.d.ts +2 -2
- package/dist/manifest/reader.d.ts.map +1 -1
- package/dist/manifest/reader.js +5 -4
- package/dist/manifest/reader.js.map +1 -1
- package/dist/manifest/schema-validator.d.ts.map +1 -1
- package/dist/manifest/schema-validator.js +4 -2
- package/dist/manifest/schema-validator.js.map +1 -1
- package/dist/manifest/types.d.ts +23 -68
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/manifest/types.js.map +1 -1
- package/dist/manifest/writer.d.ts +2 -2
- package/dist/manifest/writer.d.ts.map +1 -1
- package/dist/manifest/writer.js +2 -3
- package/dist/manifest/writer.js.map +1 -1
- package/dist/plugins/core/models-plugin.d.ts +3 -0
- package/dist/plugins/core/models-plugin.d.ts.map +1 -0
- package/dist/plugins/core/models-plugin.js +28 -0
- package/dist/plugins/core/models-plugin.js.map +1 -0
- package/dist/plugins/core/tools-plugin.d.ts +3 -0
- package/dist/plugins/core/tools-plugin.d.ts.map +1 -0
- package/dist/plugins/core/tools-plugin.js +44 -0
- package/dist/plugins/core/tools-plugin.js.map +1 -0
- package/dist/plugins/environments/node-env-plugin.d.ts +3 -0
- package/dist/plugins/environments/node-env-plugin.d.ts.map +1 -0
- package/dist/plugins/environments/node-env-plugin.js +31 -0
- package/dist/plugins/environments/node-env-plugin.js.map +1 -0
- package/dist/plugins/environments/python-env-plugin.d.ts +3 -0
- package/dist/plugins/environments/python-env-plugin.d.ts.map +1 -0
- package/dist/plugins/environments/python-env-plugin.js +33 -0
- package/dist/plugins/environments/python-env-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts +3 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +13 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/inject.d.ts +3 -0
- package/dist/plugins/inject.d.ts.map +1 -0
- package/dist/plugins/inject.js +16 -0
- package/dist/plugins/inject.js.map +1 -0
- package/dist/plugins/merge-policies.d.ts +8 -0
- package/dist/plugins/merge-policies.d.ts.map +1 -0
- package/dist/plugins/merge-policies.js +56 -0
- package/dist/plugins/merge-policies.js.map +1 -0
- package/dist/plugins/registry.d.ts +21 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +63 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +71 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/{generator/targets → plugins}/types.js.map +1 -1
- package/dist/presets/index.d.ts +2 -2
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +7 -2
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/types.d.ts +2 -2
- package/dist/presets/types.d.ts.map +1 -1
- package/dist/renderers/claude/agent-md.js +1 -1
- package/dist/renderers/claude/agent-md.js.map +1 -1
- package/dist/renderers/claude/docs.js +1 -1
- package/dist/renderers/claude/docs.js.map +1 -1
- package/dist/renderers/claude/index.d.ts +2 -0
- package/dist/renderers/claude/index.d.ts.map +1 -1
- package/dist/renderers/claude/index.js +11 -0
- package/dist/renderers/claude/index.js.map +1 -1
- package/dist/renderers/claude/policy-mapper.d.ts.map +1 -1
- package/dist/renderers/claude/policy-mapper.js +3 -22
- package/dist/renderers/claude/policy-mapper.js.map +1 -1
- package/dist/renderers/claude/tools.d.ts +0 -1
- package/dist/renderers/claude/tools.d.ts.map +1 -1
- package/dist/renderers/claude/tools.js +0 -2
- package/dist/renderers/claude/tools.js.map +1 -1
- package/dist/renderers/codex/index.d.ts +7 -0
- package/dist/renderers/codex/index.d.ts.map +1 -0
- package/dist/renderers/codex/index.js +97 -0
- package/dist/renderers/codex/index.js.map +1 -0
- package/dist/renderers/codex/skill-map.d.ts +8 -0
- package/dist/renderers/codex/skill-map.d.ts.map +1 -0
- package/dist/renderers/codex/skill-map.js +29 -0
- package/dist/renderers/codex/skill-map.js.map +1 -0
- package/dist/renderers/codex/tools.d.ts +3 -0
- package/dist/renderers/codex/tools.d.ts.map +1 -0
- package/dist/renderers/codex/tools.js +8 -0
- package/dist/renderers/codex/tools.js.map +1 -0
- package/dist/renderers/index.d.ts +3 -0
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +7 -0
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/registry.d.ts +8 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/registry.js +22 -0
- package/dist/renderers/registry.js.map +1 -0
- package/dist/renderers/target-context.d.ts +14 -0
- package/dist/renderers/target-context.d.ts.map +1 -0
- package/dist/renderers/target-context.js +2 -0
- package/dist/renderers/target-context.js.map +1 -0
- package/dist/team-templates/policies.d.ts.map +1 -1
- package/dist/team-templates/policies.js +0 -12
- package/dist/team-templates/policies.js.map +1 -1
- package/dist/team-templates/presets.d.ts +1 -1
- package/dist/team-templates/presets.d.ts.map +1 -1
- package/dist/team-templates/roles.d.ts +6 -6
- package/dist/team-templates/roles.d.ts.map +1 -1
- package/dist/team-templates/roles.js +3 -4
- package/dist/team-templates/roles.js.map +1 -1
- package/dist/tools/types.d.ts +5 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/manifest.d.ts +8 -5
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +7 -9
- package/dist/types/manifest.js.map +1 -1
- package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
- package/dist/validator/checks/handoff-graph.js +3 -2
- package/dist/validator/checks/handoff-graph.js.map +1 -1
- package/dist/validator/checks/instruction-blocks.d.ts.map +1 -1
- package/dist/validator/checks/instruction-blocks.js +3 -1
- package/dist/validator/checks/instruction-blocks.js.map +1 -1
- package/dist/validator/checks/security-baseline.d.ts.map +1 -1
- package/dist/validator/checks/security-baseline.js +4 -19
- package/dist/validator/checks/security-baseline.js.map +1 -1
- package/dist/validator/index.d.ts +2 -2
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +4 -8
- package/dist/validator/index.js.map +1 -1
- package/dist/wizard/index.d.ts +2 -0
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +30 -10
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/steps/agent-customization.d.ts +2 -1
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
- package/dist/wizard/steps/agent-customization.js +66 -30
- package/dist/wizard/steps/agent-customization.js.map +1 -1
- package/dist/wizard/steps/confirm-generate.d.ts +2 -2
- package/dist/wizard/steps/confirm-generate.d.ts.map +1 -1
- package/dist/wizard/steps/confirm-generate.js +2 -2
- package/dist/wizard/steps/confirm-generate.js.map +1 -1
- package/dist/wizard/steps/custom-team.d.ts +3 -2
- package/dist/wizard/steps/custom-team.d.ts.map +1 -1
- package/dist/wizard/steps/custom-team.js +3 -3
- package/dist/wizard/steps/custom-team.js.map +1 -1
- package/dist/wizard/steps/target-selection.d.ts +6 -0
- package/dist/wizard/steps/target-selection.d.ts.map +1 -0
- package/dist/wizard/steps/target-selection.js +27 -0
- package/dist/wizard/steps/target-selection.js.map +1 -0
- package/dist/wizard/steps/team-selection.d.ts +4 -2
- package/dist/wizard/steps/team-selection.d.ts.map +1 -1
- package/dist/wizard/steps/team-selection.js +6 -6
- package/dist/wizard/steps/team-selection.js.map +1 -1
- package/package.json +17 -3
- package/schema/teamcast.schema.json +42 -155
- package/templates/presets/feature-team.yaml +78 -47
- package/templates/presets/research-and-build.yaml +64 -41
- package/templates/presets/secure-dev.yaml +84 -56
- package/templates/presets/solo-dev.yaml +23 -17
- package/dist/cli/manifest-validation.d.ts +0 -13
- package/dist/cli/manifest-validation.d.ts.map +0 -1
- package/dist/cli/manifest-validation.js +0 -38
- package/dist/cli/manifest-validation.js.map +0 -1
- package/dist/core/permissions.d.ts +0 -10
- package/dist/core/permissions.d.ts.map +0 -1
- package/dist/core/permissions.js +0 -67
- package/dist/core/permissions.js.map +0 -1
- package/dist/generator/renderers/agent-md.d.ts +0 -5
- package/dist/generator/renderers/agent-md.d.ts.map +0 -1
- package/dist/generator/renderers/agent-md.js +0 -66
- package/dist/generator/renderers/agent-md.js.map +0 -1
- package/dist/generator/renderers/agents-md.d.ts +0 -4
- package/dist/generator/renderers/agents-md.d.ts.map +0 -1
- package/dist/generator/renderers/agents-md.js +0 -86
- package/dist/generator/renderers/agents-md.js.map +0 -1
- package/dist/generator/renderers/claude-md.d.ts +0 -4
- package/dist/generator/renderers/claude-md.d.ts.map +0 -1
- package/dist/generator/renderers/claude-md.js +0 -68
- package/dist/generator/renderers/claude-md.js.map +0 -1
- package/dist/generator/renderers/codex-config.d.ts +0 -4
- package/dist/generator/renderers/codex-config.d.ts.map +0 -1
- package/dist/generator/renderers/codex-config.js +0 -145
- package/dist/generator/renderers/codex-config.js.map +0 -1
- package/dist/generator/renderers/codex-skill-md.d.ts +0 -4
- package/dist/generator/renderers/codex-skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/codex-skill-md.js +0 -47
- package/dist/generator/renderers/codex-skill-md.js.map +0 -1
- package/dist/generator/renderers/settings-json.d.ts +0 -5
- package/dist/generator/renderers/settings-json.d.ts.map +0 -1
- package/dist/generator/renderers/settings-json.js +0 -100
- package/dist/generator/renderers/settings-json.js.map +0 -1
- package/dist/generator/renderers/skill-md.d.ts +0 -4
- package/dist/generator/renderers/skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/skill-md.js +0 -44
- package/dist/generator/renderers/skill-md.js.map +0 -1
- package/dist/generator/state.d.ts +0 -14
- package/dist/generator/state.d.ts.map +0 -1
- package/dist/generator/state.js +0 -76
- package/dist/generator/state.js.map +0 -1
- package/dist/generator/targets/claude.d.ts +0 -3
- package/dist/generator/targets/claude.d.ts.map +0 -1
- package/dist/generator/targets/claude.js +0 -24
- package/dist/generator/targets/claude.js.map +0 -1
- package/dist/generator/targets/codex.d.ts +0 -3
- package/dist/generator/targets/codex.d.ts.map +0 -1
- package/dist/generator/targets/codex.js +0 -19
- package/dist/generator/targets/codex.js.map +0 -1
- package/dist/generator/targets/index.d.ts +0 -4
- package/dist/generator/targets/index.d.ts.map +0 -1
- package/dist/generator/targets/index.js +0 -10
- package/dist/generator/targets/index.js.map +0 -1
- package/dist/generator/targets/types.d.ts +0 -8
- package/dist/generator/targets/types.d.ts.map +0 -1
- package/dist/manifest/compat.d.ts +0 -6
- package/dist/manifest/compat.d.ts.map +0 -1
- package/dist/manifest/compat.js +0 -56
- package/dist/manifest/compat.js.map +0 -1
- /package/dist/{generator/targets → plugins}/types.js +0 -0
package/dist/cli/validate.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { readManifest, ManifestError } from '../manifest/reader.js';
|
|
3
|
-
import {
|
|
4
|
-
import { printValidationReport, hasErrors } from '../validator/reporter.js';
|
|
3
|
+
import { evaluateTeam, teamHasBlockingIssues, printManifestValidation, } from '../application/validate-team.js';
|
|
5
4
|
export function registerValidateCommand(program) {
|
|
6
5
|
program
|
|
7
6
|
.command('validate')
|
|
@@ -30,16 +29,15 @@ export function registerValidateCommand(program) {
|
|
|
30
29
|
}
|
|
31
30
|
throw err;
|
|
32
31
|
}
|
|
33
|
-
const
|
|
34
|
-
const policyAssertionCount = manifest.policies?.assertions?.length ?? 0;
|
|
32
|
+
const validation = evaluateTeam(manifest);
|
|
35
33
|
if (options.format === 'json') {
|
|
36
|
-
process.stdout.write(JSON.stringify(
|
|
34
|
+
process.stdout.write(JSON.stringify(validation.validationResults, null, 2) + '\n');
|
|
37
35
|
}
|
|
38
36
|
else {
|
|
39
|
-
|
|
37
|
+
printManifestValidation(validation);
|
|
40
38
|
}
|
|
41
|
-
const shouldFail =
|
|
42
|
-
(options.strict &&
|
|
39
|
+
const shouldFail = teamHasBlockingIssues(validation) ||
|
|
40
|
+
(options.strict && validation.validationResults.some((result) => result.severity === 'warning'));
|
|
43
41
|
if (shouldFail) {
|
|
44
42
|
process.exit(1);
|
|
45
43
|
}
|
package/dist/cli/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SAClE,MAAM,CAAC,CAAC,OAA8C,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3G,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACpD,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;wBACxB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;4BAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GACd,qBAAqB,CAAC,UAAU,CAAC;YACjC,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;QAEnG,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TeamPolicies } from '../core/types.js';
|
|
2
|
-
export type PolicyFragmentName = 'allow-
|
|
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
3
|
export declare function listPolicyFragments(): PolicyFragmentName[];
|
|
4
4
|
export declare function composePoliciesFromFragments(fragments: PolicyFragmentName[] | undefined, overrides?: TeamPolicies): TeamPolicies;
|
|
5
5
|
//# sourceMappingURL=policy-fragments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,58 +1,24 @@
|
|
|
1
1
|
const POLICY_FRAGMENTS = {
|
|
2
|
-
'allow-npm-run': {
|
|
3
|
-
permissions: {
|
|
4
|
-
allow: ['project.commands'],
|
|
5
|
-
},
|
|
6
|
-
},
|
|
7
|
-
'allow-npm-test': {
|
|
8
|
-
permissions: {
|
|
9
|
-
allow: ['tests'],
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
2
|
'allow-git-read': {
|
|
13
|
-
permissions: {
|
|
14
|
-
allow: ['git.read'],
|
|
15
|
-
},
|
|
3
|
+
permissions: { rules: { allow: ['Bash(git status)', 'Bash(git diff *)'] } }
|
|
16
4
|
},
|
|
17
5
|
'allow-git-write': {
|
|
18
|
-
permissions: {
|
|
19
|
-
allow: ['git.write'],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
'allow-npx': {
|
|
23
|
-
permissions: {
|
|
24
|
-
allow: ['package.exec'],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
'allow-npm-audit': {
|
|
28
|
-
permissions: {
|
|
29
|
-
allow: ['security.audit'],
|
|
30
|
-
},
|
|
6
|
+
permissions: { rules: { allow: ['Bash(git add *)', 'Bash(git commit *)'] } }
|
|
31
7
|
},
|
|
32
8
|
'ask-git-push': {
|
|
33
|
-
permissions: {
|
|
34
|
-
ask: ['git.push'],
|
|
35
|
-
},
|
|
9
|
+
permissions: { rules: { ask: ['Bash(git push *)'] } }
|
|
36
10
|
},
|
|
37
11
|
'deny-destructive-shell': {
|
|
38
|
-
permissions: {
|
|
39
|
-
deny: ['destructive-shell'],
|
|
40
|
-
},
|
|
12
|
+
permissions: { rules: { deny: ['Bash(rm -rf *)', 'Bash(git push --force *)'] } }
|
|
41
13
|
},
|
|
42
14
|
'deny-network-downloads': {
|
|
43
|
-
permissions: {
|
|
44
|
-
deny: ['downloads'],
|
|
45
|
-
},
|
|
15
|
+
permissions: { rules: { deny: ['Bash(curl *)', 'Bash(wget *)'] } }
|
|
46
16
|
},
|
|
47
17
|
'deny-dynamic-exec': {
|
|
48
|
-
permissions: {
|
|
49
|
-
deny: ['dynamic-exec'],
|
|
50
|
-
},
|
|
18
|
+
permissions: { rules: { deny: ['Bash(eval *)', 'Bash(exec *)'] } }
|
|
51
19
|
},
|
|
52
20
|
'deny-env-files': {
|
|
53
|
-
permissions: {
|
|
54
|
-
deny: ['env.write'],
|
|
55
|
-
},
|
|
21
|
+
permissions: { rules: { deny: ['Write(.env*)', 'Edit(.env*)'] } }
|
|
56
22
|
},
|
|
57
23
|
'sandbox-default': {
|
|
58
24
|
sandbox: {
|
|
@@ -69,17 +35,14 @@ function mergePolicies(base, extra) {
|
|
|
69
35
|
return {
|
|
70
36
|
permissions: base.permissions || extra.permissions
|
|
71
37
|
? {
|
|
72
|
-
|
|
73
|
-
ask: mergeUnique(base.permissions?.ask, extra.permissions?.ask),
|
|
74
|
-
deny: mergeUnique(base.permissions?.deny, extra.permissions?.deny),
|
|
75
|
-
defaultMode: extra.permissions?.defaultMode ?? base.permissions?.defaultMode,
|
|
76
|
-
rawRules: base.permissions?.rawRules || extra.permissions?.rawRules
|
|
38
|
+
rules: base.permissions?.rules || extra.permissions?.rules
|
|
77
39
|
? {
|
|
78
|
-
allow: mergeUnique(base.permissions?.
|
|
79
|
-
ask: mergeUnique(base.permissions?.
|
|
80
|
-
deny: mergeUnique(base.permissions?.
|
|
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),
|
|
81
43
|
}
|
|
82
44
|
: undefined,
|
|
45
|
+
defaultMode: extra.permissions?.defaultMode ?? base.permissions?.defaultMode,
|
|
83
46
|
}
|
|
84
47
|
: undefined,
|
|
85
48
|
sandbox: base.sandbox || extra.sandbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-fragments.js","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"
|
|
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
CHANGED
|
@@ -3,7 +3,6 @@ export * from './skills.js';
|
|
|
3
3
|
export * from './instructions.js';
|
|
4
4
|
export * from './assertions.js';
|
|
5
5
|
export * from './guards.js';
|
|
6
|
-
export * from './permissions.js';
|
|
7
6
|
export * from './skill-resolver.js';
|
|
8
7
|
export { evaluatePolicyAssertions } from './policy-evaluator.js';
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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
CHANGED
|
@@ -3,7 +3,6 @@ export * from './skills.js';
|
|
|
3
3
|
export * from './instructions.js';
|
|
4
4
|
export * from './assertions.js';
|
|
5
5
|
export * from './guards.js';
|
|
6
|
-
export * from './permissions.js';
|
|
7
6
|
export * from './skill-resolver.js';
|
|
8
7
|
export { evaluatePolicyAssertions } from './policy-evaluator.js';
|
|
9
8
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { InstructionBlock } from './instructions.js';
|
|
2
2
|
import type { PolicyAssertion } from './assertions.js';
|
|
3
|
-
export type
|
|
3
|
+
export type ReasoningEffort = 'low' | 'medium' | 'high';
|
|
4
4
|
export type PermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'dontAsk';
|
|
5
|
-
export type AbstractPermission = 'project.commands' | 'tests' | 'git.read' | 'git.write' | 'package.exec' | 'security.audit' | 'git.push' | 'destructive-shell' | 'downloads' | 'dynamic-exec' | 'env.write';
|
|
6
5
|
export interface McpServerConfig {
|
|
7
6
|
type?: string;
|
|
8
7
|
command?: string;
|
|
@@ -17,8 +16,10 @@ export interface HookEntry {
|
|
|
17
16
|
command: string;
|
|
18
17
|
}
|
|
19
18
|
export interface AgentRuntime {
|
|
20
|
-
/**
|
|
21
|
-
model?:
|
|
19
|
+
/** Target-native model identifier. */
|
|
20
|
+
model?: string;
|
|
21
|
+
/** Target-native reasoning level where supported (e.g. Codex). */
|
|
22
|
+
reasoningEffort?: ReasoningEffort;
|
|
22
23
|
/**
|
|
23
24
|
* Allowed tools. Uses string[] to keep the core platform-agnostic.
|
|
24
25
|
* The Claude renderer layer casts these to CanonicalTool as needed.
|
|
@@ -53,11 +54,8 @@ export interface CoreAgent {
|
|
|
53
54
|
metadata?: AgentMetadata;
|
|
54
55
|
}
|
|
55
56
|
export interface PermissionsConfig {
|
|
56
|
-
allow?: AbstractPermission[];
|
|
57
|
-
ask?: AbstractPermission[];
|
|
58
|
-
deny?: AbstractPermission[];
|
|
59
57
|
defaultMode?: 'default' | 'acceptEdits';
|
|
60
|
-
|
|
58
|
+
rules?: {
|
|
61
59
|
allow?: string[];
|
|
62
60
|
ask?: string[];
|
|
63
61
|
deny?: string[];
|
|
@@ -86,7 +84,6 @@ export interface TeamPolicies {
|
|
|
86
84
|
assertions?: PolicyAssertion[];
|
|
87
85
|
}
|
|
88
86
|
export interface TeamSettings {
|
|
89
|
-
defaultModel?: ModelAlias;
|
|
90
87
|
generateDocs?: boolean;
|
|
91
88
|
generateLocalSettings?: boolean;
|
|
92
89
|
}
|
|
@@ -101,13 +98,13 @@ export interface ProjectConfig {
|
|
|
101
98
|
description?: string;
|
|
102
99
|
}
|
|
103
100
|
/**
|
|
104
|
-
* A fully-normalized team
|
|
105
|
-
*
|
|
101
|
+
* A fully-normalized, target-specific team view used internally after
|
|
102
|
+
* raw manifest defaults, target selection, and normalization.
|
|
106
103
|
* Agents carry a `runtime` block, which distinguishes this type from
|
|
107
104
|
* the raw `TeamCastManifest` loaded directly from YAML.
|
|
108
105
|
*/
|
|
109
106
|
export interface CoreTeam {
|
|
110
|
-
version: '
|
|
107
|
+
version: '2';
|
|
111
108
|
project: ProjectConfig;
|
|
112
109
|
agents: Record<string, CoreAgent>;
|
|
113
110
|
policies?: TeamPolicies;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/detector/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA+ChE"}
|
package/dist/detector/index.js
CHANGED
|
@@ -8,14 +8,13 @@ export function detectProjectContext(cwd) {
|
|
|
8
8
|
try {
|
|
9
9
|
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
10
10
|
ctx.name = pkg.name ?? basename(cwd);
|
|
11
|
-
ctx.stack = 'nodejs';
|
|
12
11
|
}
|
|
13
12
|
catch {
|
|
14
13
|
// ignore
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
// Detect Rust
|
|
18
|
-
if (!ctx.
|
|
17
|
+
if (!ctx.name) {
|
|
19
18
|
const cargoPath = join(cwd, 'Cargo.toml');
|
|
20
19
|
if (existsSync(cargoPath)) {
|
|
21
20
|
try {
|
|
@@ -23,7 +22,6 @@ export function detectProjectContext(cwd) {
|
|
|
23
22
|
const match = raw.match(/^\s*name\s*=\s*"([^"]+)"/m);
|
|
24
23
|
if (match)
|
|
25
24
|
ctx.name = match[1];
|
|
26
|
-
ctx.stack = 'rust';
|
|
27
25
|
}
|
|
28
26
|
catch {
|
|
29
27
|
// ignore
|
|
@@ -31,7 +29,7 @@ export function detectProjectContext(cwd) {
|
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
// Detect Python
|
|
34
|
-
if (!ctx.
|
|
32
|
+
if (!ctx.name) {
|
|
35
33
|
const pyprojectPath = join(cwd, 'pyproject.toml');
|
|
36
34
|
if (existsSync(pyprojectPath)) {
|
|
37
35
|
try {
|
|
@@ -39,19 +37,15 @@ export function detectProjectContext(cwd) {
|
|
|
39
37
|
const match = raw.match(/^\s*name\s*=\s*"([^"]+)"/m);
|
|
40
38
|
if (match)
|
|
41
39
|
ctx.name = match[1];
|
|
42
|
-
ctx.stack = 'python';
|
|
43
40
|
}
|
|
44
41
|
catch {
|
|
45
42
|
// ignore
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
|
-
if (!ctx.
|
|
50
|
-
ctx.name =
|
|
51
|
-
ctx.stack = 'unknown';
|
|
46
|
+
if (!ctx.name) {
|
|
47
|
+
ctx.name = basename(cwd);
|
|
52
48
|
}
|
|
53
|
-
// Check for existing .claude directory
|
|
54
|
-
ctx.hasExistingClaude = existsSync(join(cwd, '.claude'));
|
|
55
49
|
return ctx;
|
|
56
50
|
}
|
|
57
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAMtC,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACrD,IAAI,KAAK;oBAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACrD,IAAI,KAAK;oBAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/diff/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TeamCastManifest } from '../manifest/types.js';
|
|
2
2
|
export type DiffStatus = 'new' | 'modified' | 'unchanged';
|
|
3
3
|
export interface DiffEntry {
|
|
4
4
|
path: string;
|
|
@@ -6,5 +6,5 @@ export interface DiffEntry {
|
|
|
6
6
|
addedLines?: number;
|
|
7
7
|
removedLines?: number;
|
|
8
8
|
}
|
|
9
|
-
export declare function diffManifest(
|
|
9
|
+
export declare function diffManifest(manifest: TeamCastManifest, cwd: string): DiffEntry[];
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/diff/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CA2BjF"}
|
package/dist/diff/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import { readFileSync, existsSync } from 'fs';
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { generate } from '../generator/index.js';
|
|
4
4
|
import { isUserEditableGeneratedFile } from '../generator/file-policies.js';
|
|
5
|
-
export function diffManifest(
|
|
6
|
-
const expected = generate(
|
|
5
|
+
export function diffManifest(manifest, cwd) {
|
|
6
|
+
const expected = generate(manifest, { cwd, dryRun: true });
|
|
7
7
|
return expected.map((file) => {
|
|
8
8
|
const absPath = join(cwd, file.path);
|
|
9
9
|
if (!existsSync(absPath)) {
|
package/dist/diff/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAW5E,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAW5E,MAAM,UAAU,YAAY,CAAC,QAA0B,EAAE,GAAW;IAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAa,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAClD,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAErF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { CoreTeam } from '../core/types.js';
|
|
2
|
-
|
|
2
|
+
import type { TargetContext } from '../renderers/target-context.js';
|
|
3
|
+
export declare function buildExplanation(team: CoreTeam, targetContext: TargetContext): string;
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAqEpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,CA8CrF"}
|
package/dist/explainer/index.js
CHANGED
|
@@ -1,25 +1,33 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
|
|
3
|
-
function formatAgentSection(agentId, agent, defaultModel) {
|
|
2
|
+
function formatAgentSection(agentId, agent, targetContext) {
|
|
4
3
|
const lines = [];
|
|
5
|
-
const model = agent.runtime.model ??
|
|
4
|
+
const model = agent.runtime.model ?? 'unspecified';
|
|
6
5
|
lines.push(` ${chalk.cyan(agentId)} ${chalk.dim(`(${model})`)}`);
|
|
7
6
|
// Description
|
|
8
7
|
if (agent.description) {
|
|
9
8
|
lines.push(` ${chalk.dim('Description:')} ${agent.description}`);
|
|
10
9
|
}
|
|
10
|
+
if (agent.runtime.reasoningEffort) {
|
|
11
|
+
lines.push(` ${chalk.dim('Reasoning effort:')} ${agent.runtime.reasoningEffort}`);
|
|
12
|
+
}
|
|
11
13
|
// Skills (abstract) — reverse-mapped from tools, or from runtime.skills if no tools
|
|
12
14
|
const tools = agent.runtime.tools ?? [];
|
|
13
15
|
if (tools.length > 0) {
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
16
|
+
const reverseMap = targetContext.reverseMapTools;
|
|
17
|
+
if (reverseMap) {
|
|
18
|
+
const { skills, remainingTools } = reverseMap(tools);
|
|
19
|
+
if (skills.length > 0) {
|
|
20
|
+
lines.push(` ${chalk.dim('Skills:')} ${skills.join(', ')}`);
|
|
21
|
+
}
|
|
22
|
+
// Expanded tools list (all, including unmapped remainders)
|
|
23
|
+
lines.push(` ${chalk.dim('Tools:')} ${tools.join(', ')}`);
|
|
24
|
+
if (remainingTools.length > 0) {
|
|
25
|
+
// Unmapped tools shown for transparency
|
|
26
|
+
lines.push(` ${chalk.dim('Unmapped tools:')} ${remainingTools.join(', ')}`);
|
|
27
|
+
}
|
|
17
28
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (remainingTools.length > 0) {
|
|
21
|
-
// Unmapped tools shown for transparency
|
|
22
|
-
lines.push(` ${chalk.dim('Unmapped tools:')} ${remainingTools.join(', ')}`);
|
|
29
|
+
else {
|
|
30
|
+
lines.push(` ${chalk.dim('Tools:')} ${tools.join(', ')}`);
|
|
23
31
|
}
|
|
24
32
|
}
|
|
25
33
|
// Disallowed tools
|
|
@@ -45,14 +53,14 @@ function formatAgentSection(agentId, agent, defaultModel) {
|
|
|
45
53
|
}
|
|
46
54
|
return lines;
|
|
47
55
|
}
|
|
48
|
-
export function buildExplanation(team) {
|
|
56
|
+
export function buildExplanation(team, targetContext) {
|
|
49
57
|
const lines = [];
|
|
50
58
|
const preset = team.project.preset ? ` (preset: ${team.project.preset})` : '';
|
|
51
59
|
lines.push(chalk.bold(`Project: ${team.project.name}`) + chalk.dim(preset));
|
|
52
60
|
lines.push('');
|
|
53
61
|
lines.push(chalk.bold('Team structure:'));
|
|
54
62
|
for (const [agentId, agent] of Object.entries(team.agents)) {
|
|
55
|
-
lines.push(...formatAgentSection(agentId, agent,
|
|
63
|
+
lines.push(...formatAgentSection(agentId, agent, targetContext));
|
|
56
64
|
lines.push('');
|
|
57
65
|
}
|
|
58
66
|
if (team.policies) {
|
|
@@ -62,16 +70,16 @@ export function buildExplanation(team) {
|
|
|
62
70
|
if (team.policies.network?.allowedDomains?.length) {
|
|
63
71
|
lines.push(` ${chalk.dim('*')} Network: restricted to ${team.policies.network.allowedDomains.join(', ')}`);
|
|
64
72
|
}
|
|
65
|
-
//
|
|
66
|
-
const
|
|
67
|
-
if (
|
|
68
|
-
lines.push(` ${chalk.dim('*')} Allowed: ${
|
|
73
|
+
// Permissions (allow / ask / deny)
|
|
74
|
+
const rules = team.policies.permissions?.rules;
|
|
75
|
+
if (rules?.allow?.length) {
|
|
76
|
+
lines.push(` ${chalk.dim('*')} Allowed: ${rules.allow.join(', ')}`);
|
|
69
77
|
}
|
|
70
|
-
if (
|
|
71
|
-
lines.push(` ${chalk.dim('*')} Ask before: ${
|
|
78
|
+
if (rules?.ask?.length) {
|
|
79
|
+
lines.push(` ${chalk.dim('*')} Ask before: ${rules.ask.join(', ')}`);
|
|
72
80
|
}
|
|
73
|
-
if (
|
|
74
|
-
lines.push(` ${chalk.dim('*')} Denied: ${
|
|
81
|
+
if (rules?.deny?.length) {
|
|
82
|
+
lines.push(` ${chalk.dim('*')} Denied: ${rules.deny.join(', ')}`);
|
|
75
83
|
}
|
|
76
84
|
const hookCount = (team.policies.hooks?.preToolUse?.length ?? 0) +
|
|
77
85
|
(team.policies.hooks?.postToolUse?.length ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CoreTeam } from '../core/types.js';
|
|
2
1
|
import type { TeamCastManifest } from '../manifest/types.js';
|
|
3
2
|
import type { BuildGeneratedOutputsOptions } from '../application/build-generated-files.js';
|
|
4
|
-
|
|
3
|
+
import '../renderers/index.js';
|
|
4
|
+
export declare function generate(manifest: TeamCastManifest, options: BuildGeneratedOutputsOptions): import("../renderers/types.js").RenderedFile[];
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAG5F,OAAO,uBAAuB,CAAC;AAK/B,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,4BAA4B,kDAmBtC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
import { isCoreTeam } from '../core/guards.js';
|
|
2
1
|
import { applyDefaults } from '../manifest/defaults.js';
|
|
3
2
|
import { buildGeneratedOutputs } from '../application/build-generated-files.js';
|
|
3
|
+
import '../renderers/index.js';
|
|
4
|
+
import { getRegisteredTargetNames, getTarget } from '../renderers/registry.js';
|
|
5
|
+
import { normalizeManifest } from '../manifest/normalize.js';
|
|
6
|
+
import { injectEnvironmentPolicies } from '../plugins/inject.js';
|
|
4
7
|
export function generate(manifest, options) {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const rawManifest = applyDefaults(manifest);
|
|
9
|
+
injectEnvironmentPolicies(rawManifest, options.cwd);
|
|
10
|
+
const rawManifestRecord = rawManifest;
|
|
11
|
+
const registeredTargets = getRegisteredTargetNames();
|
|
12
|
+
const allGeneratedFiles = [];
|
|
13
|
+
for (const targetName of registeredTargets) {
|
|
14
|
+
if (rawManifestRecord[targetName]) {
|
|
15
|
+
const targetContext = getTarget(targetName);
|
|
16
|
+
const coreTeam = normalizeManifest(rawManifest, targetContext);
|
|
17
|
+
const targetFiles = buildGeneratedOutputs(coreTeam, targetName, options);
|
|
18
|
+
allGeneratedFiles.push(...targetFiles);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return allGeneratedFiles;
|
|
9
22
|
}
|
|
10
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,UAAU,QAAQ,CACtB,QAA0B,EAC1B,OAAqC;IAErC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD,MAAM,iBAAiB,GAAG,WAAiD,CAAC;IAC5E,MAAM,iBAAiB,GAAG,wBAAwB,EAAE,CAAC;IACrD,MAAM,iBAAiB,GAA6C,EAAE,CAAC;IAEvE,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzE,iBAAiB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
package/dist/importer/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TeamCastManifest } from '../manifest/types.js';
|
|
2
2
|
interface ImportWarning {
|
|
3
3
|
file: string;
|
|
4
4
|
message: string;
|
|
5
5
|
}
|
|
6
6
|
interface ImportResult {
|
|
7
|
-
team:
|
|
7
|
+
team: TeamCastManifest;
|
|
8
8
|
warnings: ImportWarning[];
|
|
9
9
|
}
|
|
10
10
|
export declare function importFromClaudeDir(cwd: string, projectName: string): ImportResult;
|
|
11
|
+
export declare function importFromCodexDir(cwd: string, projectName: string): ImportResult;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/importer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/importer/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAY7D,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAuVD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAqFlF;AAuFD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CA2DjF"}
|