teamcast 0.8.0 → 0.9.1

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.
Files changed (116) hide show
  1. package/dist/application/team.d.ts.map +1 -1
  2. package/dist/application/team.js +56 -29
  3. package/dist/application/team.js.map +1 -1
  4. package/dist/cli/import.d.ts.map +1 -1
  5. package/dist/cli/import.js +12 -11
  6. package/dist/cli/import.js.map +1 -1
  7. package/dist/cli/init.d.ts.map +1 -1
  8. package/dist/cli/init.js +5 -0
  9. package/dist/cli/init.js.map +1 -1
  10. package/dist/cli/manage.d.ts.map +1 -1
  11. package/dist/cli/manage.js +40 -86
  12. package/dist/cli/manage.js.map +1 -1
  13. package/dist/components/policy-fragments.d.ts +1 -1
  14. package/dist/components/policy-fragments.d.ts.map +1 -1
  15. package/dist/components/policy-fragments.js +12 -49
  16. package/dist/components/policy-fragments.js.map +1 -1
  17. package/dist/core/index.d.ts +0 -1
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +0 -1
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/types.d.ts +2 -6
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/detector/index.d.ts +0 -2
  24. package/dist/detector/index.d.ts.map +1 -1
  25. package/dist/detector/index.js +4 -10
  26. package/dist/detector/index.js.map +1 -1
  27. package/dist/explainer/index.js +8 -8
  28. package/dist/explainer/index.js.map +1 -1
  29. package/dist/generator/index.d.ts.map +1 -1
  30. package/dist/generator/index.js +2 -0
  31. package/dist/generator/index.js.map +1 -1
  32. package/dist/importer/index.d.ts +2 -2
  33. package/dist/importer/index.d.ts.map +1 -1
  34. package/dist/importer/index.js +82 -28
  35. package/dist/importer/index.js.map +1 -1
  36. package/dist/manifest/normalize.d.ts.map +1 -1
  37. package/dist/manifest/normalize.js +13 -25
  38. package/dist/manifest/normalize.js.map +1 -1
  39. package/dist/manifest/reader.d.ts.map +1 -1
  40. package/dist/manifest/reader.js +4 -2
  41. package/dist/manifest/reader.js.map +1 -1
  42. package/dist/manifest/schema-validator.d.ts.map +1 -1
  43. package/dist/manifest/schema-validator.js +4 -2
  44. package/dist/manifest/schema-validator.js.map +1 -1
  45. package/dist/manifest/types.d.ts +7 -4
  46. package/dist/manifest/types.d.ts.map +1 -1
  47. package/dist/manifest/types.js.map +1 -1
  48. package/dist/plugins/core/models-plugin.d.ts +3 -0
  49. package/dist/plugins/core/models-plugin.d.ts.map +1 -0
  50. package/dist/plugins/core/models-plugin.js +50 -0
  51. package/dist/plugins/core/models-plugin.js.map +1 -0
  52. package/dist/plugins/core/tools-plugin.d.ts +3 -0
  53. package/dist/plugins/core/tools-plugin.d.ts.map +1 -0
  54. package/dist/plugins/core/tools-plugin.js +44 -0
  55. package/dist/plugins/core/tools-plugin.js.map +1 -0
  56. package/dist/plugins/environments/node-env-plugin.d.ts +3 -0
  57. package/dist/plugins/environments/node-env-plugin.d.ts.map +1 -0
  58. package/dist/plugins/environments/node-env-plugin.js +31 -0
  59. package/dist/plugins/environments/node-env-plugin.js.map +1 -0
  60. package/dist/plugins/environments/python-env-plugin.d.ts +3 -0
  61. package/dist/plugins/environments/python-env-plugin.d.ts.map +1 -0
  62. package/dist/plugins/environments/python-env-plugin.js +33 -0
  63. package/dist/plugins/environments/python-env-plugin.js.map +1 -0
  64. package/dist/plugins/index.d.ts +3 -0
  65. package/dist/plugins/index.d.ts.map +1 -0
  66. package/dist/plugins/index.js +13 -0
  67. package/dist/plugins/index.js.map +1 -0
  68. package/dist/plugins/inject.d.ts +3 -0
  69. package/dist/plugins/inject.d.ts.map +1 -0
  70. package/dist/plugins/inject.js +16 -0
  71. package/dist/plugins/inject.js.map +1 -0
  72. package/dist/plugins/merge-policies.d.ts +8 -0
  73. package/dist/plugins/merge-policies.d.ts.map +1 -0
  74. package/dist/plugins/merge-policies.js +56 -0
  75. package/dist/plugins/merge-policies.js.map +1 -0
  76. package/dist/plugins/registry.d.ts +21 -0
  77. package/dist/plugins/registry.d.ts.map +1 -0
  78. package/dist/plugins/registry.js +63 -0
  79. package/dist/plugins/registry.js.map +1 -0
  80. package/dist/plugins/types.d.ts +71 -0
  81. package/dist/plugins/types.d.ts.map +1 -0
  82. package/dist/plugins/types.js +2 -0
  83. package/dist/plugins/types.js.map +1 -0
  84. package/dist/renderers/claude/policy-mapper.d.ts.map +1 -1
  85. package/dist/renderers/claude/policy-mapper.js +3 -22
  86. package/dist/renderers/claude/policy-mapper.js.map +1 -1
  87. package/dist/team-templates/policies.d.ts.map +1 -1
  88. package/dist/team-templates/policies.js +0 -12
  89. package/dist/team-templates/policies.js.map +1 -1
  90. package/dist/team-templates/roles.d.ts +9 -2
  91. package/dist/team-templates/roles.d.ts.map +1 -1
  92. package/dist/team-templates/roles.js +40 -8
  93. package/dist/team-templates/roles.js.map +1 -1
  94. package/dist/tools/types.d.ts +5 -0
  95. package/dist/tools/types.d.ts.map +1 -0
  96. package/dist/tools/types.js +2 -0
  97. package/dist/tools/types.js.map +1 -0
  98. package/dist/validator/checks/security-baseline.d.ts.map +1 -1
  99. package/dist/validator/checks/security-baseline.js +4 -19
  100. package/dist/validator/checks/security-baseline.js.map +1 -1
  101. package/dist/wizard/index.d.ts.map +1 -1
  102. package/dist/wizard/index.js +13 -0
  103. package/dist/wizard/index.js.map +1 -1
  104. package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
  105. package/dist/wizard/steps/agent-customization.js +27 -28
  106. package/dist/wizard/steps/agent-customization.js.map +1 -1
  107. package/package.json +2 -1
  108. package/schema/teamcast.schema.json +10 -2
  109. package/templates/presets/feature-team.yaml +0 -2
  110. package/templates/presets/research-and-build.yaml +0 -2
  111. package/templates/presets/secure-dev.yaml +0 -3
  112. package/templates/presets/solo-dev.yaml +0 -3
  113. package/dist/core/permissions.d.ts +0 -10
  114. package/dist/core/permissions.d.ts.map +0 -1
  115. package/dist/core/permissions.js +0 -67
  116. package/dist/core/permissions.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import type { TeamPolicies } from '../core/types.js';
2
- export type PolicyFragmentName = 'allow-npm-run' | 'allow-npm-test' | 'allow-git-read' | 'allow-git-write' | 'allow-npx' | 'allow-npm-audit' | 'ask-git-push' | 'deny-destructive-shell' | 'deny-network-downloads' | 'deny-dynamic-exec' | 'deny-env-files' | 'sandbox-default';
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,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,cAAc,GACd,wBAAwB,GACxB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,CAAC;AAwHtB,wBAAgB,mBAAmB,IAAI,kBAAkB,EAAE,CAE1D;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC3C,SAAS,GAAE,YAAiB,GAC3B,YAAY,CAWd"}
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
- allow: mergeUnique(base.permissions?.allow, extra.permissions?.allow),
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?.rawRules?.allow, extra.permissions?.rawRules?.allow),
79
- ask: mergeUnique(base.permissions?.rawRules?.ask, extra.permissions?.rawRules?.ask),
80
- deny: mergeUnique(base.permissions?.rawRules?.deny, extra.permissions?.rawRules?.deny),
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":"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"}
1
+ {"version":3,"file":"policy-fragments.js","sourceRoot":"","sources":["../../src/components/policy-fragments.ts"],"names":[],"mappings":"AAYA,MAAM,gBAAgB,GAA6C;IACjE,gBAAgB,EAAE;QAChB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,EAAE;KAC5E;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,EAAE;KAC7E;IACD,cAAc,EAAE;QACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE;KACtD;IACD,wBAAwB,EAAE;QACxB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,EAAE,EAAE;KACjF;IACD,wBAAwB,EAAE;QACxB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE;KACnE;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE;KACnE;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,EAAE;KAClE;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;SACpB;KACF;CACF,CAAC;AAEF,SAAS,WAAW,CAAI,IAAqB,EAAE,KAAsB;IACnE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,IAAkB,EAAE,KAAmB;IAC5D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;YAChD,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK;oBACxD,CAAC,CAAC;wBACE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;wBACnF,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC;wBAC7E,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC;qBACjF;oBACH,CAAC,CAAC,SAAS;gBACb,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW;aAC7E;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;YACpC,CAAC,CAAC;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO;gBACxD,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa;gBAC1E,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAC9F,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO;oBACtD,CAAC,CAAC;wBACE,gBAAgB,EAAE,WAAW,CAC3B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EACvC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CACzC;wBACD,iBAAiB,EACf,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB;qBACxF;oBACH,CAAC,CAAC,SAAS;aACd;YACH,CAAC,CAAC,SAAS;QACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;YAC9B,CAAC,CAAC;gBACE,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;gBACnF,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;gBACtF,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;aAC1F;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;YACpC,CAAC,CAAC;gBACE,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC;aACzF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAyB,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,SAA2C,EAC3C,YAA0B,EAAE;IAE5B,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAe,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;QAC5E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
@@ -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
@@ -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,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,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"}
@@ -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
@@ -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,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,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"}
@@ -1,8 +1,7 @@
1
1
  import type { InstructionBlock } from './instructions.js';
2
2
  import type { PolicyAssertion } from './assertions.js';
3
- export type ReasoningEffort = 'low' | 'medium' | 'high';
3
+ export type ReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh';
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;
@@ -55,11 +54,8 @@ export interface CoreAgent {
55
54
  metadata?: AgentMetadata;
56
55
  }
57
56
  export interface PermissionsConfig {
58
- allow?: AbstractPermission[];
59
- ask?: AbstractPermission[];
60
- deny?: AbstractPermission[];
61
57
  defaultMode?: 'default' | 'acceptEdits';
62
- rawRules?: {
58
+ rules?: {
63
59
  allow?: string[];
64
60
  ask?: string[];
65
61
  deny?: string[];
@@ -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,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAElG,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,OAAO,GACP,UAAU,GACV,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,UAAU,GACV,mBAAmB,GACnB,WAAW,GACX,cAAc,GACd,WAAW,CAAC;AAIhB,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACxC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;QAC1B,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAID,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAID,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  export interface ProjectContext {
2
2
  name?: string;
3
- stack?: 'nodejs' | 'rust' | 'python' | 'unknown';
4
- hasExistingClaude?: boolean;
5
3
  }
6
4
  export declare function detectProjectContext(cwd: string): ProjectContext;
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAsDhE"}
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"}
@@ -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.stack) {
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.stack) {
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.stack) {
50
- ctx.name = ctx.name ?? basename(cwd);
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;AAStC,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;YACrC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,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;gBAC/B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,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;gBAC/B,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,uCAAuC;IACvC,GAAG,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzD,OAAO,GAAG,CAAC;AACb,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"}
@@ -70,16 +70,16 @@ export function buildExplanation(team, targetContext) {
70
70
  if (team.policies.network?.allowedDomains?.length) {
71
71
  lines.push(` ${chalk.dim('*')} Network: restricted to ${team.policies.network.allowedDomains.join(', ')}`);
72
72
  }
73
- // Abstract permissions (allow / ask / deny)
74
- const perms = team.policies.permissions;
75
- if (perms?.allow?.length) {
76
- lines.push(` ${chalk.dim('*')} Allowed: ${perms.allow.join(', ')}`);
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(', ')}`);
77
77
  }
78
- if (perms?.ask?.length) {
79
- lines.push(` ${chalk.dim('*')} Ask before: ${perms.ask.join(', ')}`);
78
+ if (rules?.ask?.length) {
79
+ lines.push(` ${chalk.dim('*')} Ask before: ${rules.ask.join(', ')}`);
80
80
  }
81
- if (perms?.deny?.length) {
82
- lines.push(` ${chalk.dim('*')} Denied: ${perms.deny.join(', ')}`);
81
+ if (rules?.deny?.length) {
82
+ lines.push(` ${chalk.dim('*')} Denied: ${rules.deny.join(', ')}`);
83
83
  }
84
84
  const hookCount = (team.policies.hooks?.preToolUse?.length ?? 0) +
85
85
  (team.policies.hooks?.postToolUse?.length ?? 0);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explainer/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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;AAI/B,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,4BAA4B,kDAiBtC"}
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"}
@@ -3,8 +3,10 @@ import { buildGeneratedOutputs } from '../application/build-generated-files.js';
3
3
  import '../renderers/index.js';
4
4
  import { getRegisteredTargetNames, getTarget } from '../renderers/registry.js';
5
5
  import { normalizeManifest } from '../manifest/normalize.js';
6
+ import { injectEnvironmentPolicies } from '../plugins/inject.js';
6
7
  export function generate(manifest, options) {
7
8
  const rawManifest = applyDefaults(manifest);
9
+ injectEnvironmentPolicies(rawManifest, options.cwd);
8
10
  const rawManifestRecord = rawManifest;
9
11
  const registeredTargets = getRegisteredTargetNames();
10
12
  const allGeneratedFiles = [];
@@ -1 +1 @@
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;AAE7D,MAAM,UAAU,QAAQ,CACtB,QAA0B,EAC1B,OAAqC;IAErC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,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"}
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"}
@@ -1,10 +1,10 @@
1
- import type { CoreTeam } from '../core/types.js';
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: CoreTeam;
7
+ team: TeamCastManifest;
8
8
  warnings: ImportWarning[];
9
9
  }
10
10
  export declare function importFromClaudeDir(cwd: string, projectName: string): ImportResult;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/importer/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,QAAQ,EAKT,MAAM,kBAAkB,CAAC;AAa1B,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAkWD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CA0ClF;AAuFD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAuCjF"}
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"}
@@ -1,7 +1,6 @@
1
1
  import { readFileSync, readdirSync, existsSync } from 'fs';
2
2
  import { join, basename } from 'path';
3
3
  import { parse } from 'yaml';
4
- import { normalizePermissionTokens } from '../core/permissions.js';
5
4
  import { createClaudeTarget } from '../renderers/claude/index.js';
6
5
  import { createCodexTarget } from '../renderers/codex/index.js';
7
6
  const LEGACY_MODEL_ID_MAP = {
@@ -160,7 +159,7 @@ function stripCodexGeneratedSections(body) {
160
159
  function parseCodexReasoningEffort(value) {
161
160
  if (!value)
162
161
  return undefined;
163
- if (value === 'low' || value === 'medium' || value === 'high') {
162
+ if (value === 'low' || value === 'medium' || value === 'high' || value === 'xhigh') {
164
163
  return value;
165
164
  }
166
165
  return undefined;
@@ -242,24 +241,18 @@ function parseSettingsJson(filePath) {
242
241
  ? settings.permissions
243
242
  : undefined;
244
243
  if (perms) {
245
- const allow = normalizePermissionTokens(Array.isArray(perms.allow) ? perms.allow : undefined, 'allow');
246
- const ask = normalizePermissionTokens(Array.isArray(perms.ask) ? perms.ask : undefined, 'ask');
247
- const deny = normalizePermissionTokens(Array.isArray(perms.deny) ? perms.deny : undefined, 'deny');
244
+ const allow = Array.isArray(perms.allow) ? perms.allow : undefined;
245
+ const ask = Array.isArray(perms.ask) ? perms.ask : undefined;
246
+ const deny = Array.isArray(perms.deny) ? perms.deny : undefined;
248
247
  policies.permissions = {};
249
- if (allow.abstract)
250
- policies.permissions.allow = allow.abstract;
251
- if (ask.abstract)
252
- policies.permissions.ask = ask.abstract;
253
- if (deny.abstract)
254
- policies.permissions.deny = deny.abstract;
255
- if (allow.raw || ask.raw || deny.raw) {
256
- policies.permissions.rawRules = {};
257
- if (allow.raw)
258
- policies.permissions.rawRules.allow = allow.raw;
259
- if (ask.raw)
260
- policies.permissions.rawRules.ask = ask.raw;
261
- if (deny.raw)
262
- policies.permissions.rawRules.deny = deny.raw;
248
+ if (allow || ask || deny) {
249
+ policies.permissions.rules = {};
250
+ if (allow)
251
+ policies.permissions.rules.allow = allow;
252
+ if (ask)
253
+ policies.permissions.rules.ask = ask;
254
+ if (deny)
255
+ policies.permissions.rules.deny = deny;
263
256
  }
264
257
  if (perms.defaultMode && typeof perms.defaultMode === 'string') {
265
258
  policies.permissions.defaultMode = perms.defaultMode;
@@ -341,15 +334,57 @@ export function importFromClaudeDir(cwd, projectName) {
341
334
  policies = result.policies;
342
335
  warnings.push(...result.warnings);
343
336
  }
337
+ const agentConfigs = {};
338
+ for (const [id, coreAgent] of Object.entries(agents)) {
339
+ agentConfigs[id] = {
340
+ description: coreAgent.description,
341
+ model: coreAgent.runtime.model,
342
+ reasoning_effort: coreAgent.runtime.reasoningEffort,
343
+ tools: coreAgent.runtime.tools,
344
+ disallowed_tools: coreAgent.runtime.disallowedTools,
345
+ permission_mode: coreAgent.runtime.permissionMode,
346
+ skills: coreAgent.runtime.skillDocs,
347
+ max_turns: coreAgent.runtime.maxTurns,
348
+ mcp_servers: coreAgent.runtime.mcpServers,
349
+ background: coreAgent.runtime.background,
350
+ instruction_blocks: coreAgent.instructions,
351
+ forge: coreAgent.metadata,
352
+ };
353
+ }
344
354
  return {
345
355
  team: {
346
356
  version: '2',
347
357
  project: { name: projectName },
348
- agents,
349
- policies,
350
- settings: {
351
- generateDocs: true,
352
- generateLocalSettings: true,
358
+ claude: {
359
+ agents: agentConfigs,
360
+ policies: policies ? {
361
+ permissions: policies.permissions ? {
362
+ rules: policies.permissions.rules ? {
363
+ allow: policies.permissions.rules.allow,
364
+ ask: policies.permissions.rules.ask,
365
+ deny: policies.permissions.rules.deny,
366
+ } : undefined,
367
+ default_mode: policies.permissions.defaultMode,
368
+ } : undefined,
369
+ sandbox: policies.sandbox ? {
370
+ enabled: policies.sandbox.enabled,
371
+ auto_allow_bash: policies.sandbox.autoAllowBash,
372
+ excluded_commands: policies.sandbox.excludedCommands,
373
+ network: policies.sandbox.network ? {
374
+ allow_unix_sockets: policies.sandbox.network.allowUnixSockets,
375
+ allow_local_binding: policies.sandbox.network.allowLocalBinding,
376
+ } : undefined,
377
+ } : undefined,
378
+ hooks: policies.hooks ? {
379
+ pre_tool_use: policies.hooks.preToolUse,
380
+ post_tool_use: policies.hooks.postToolUse,
381
+ notification: policies.hooks.notification,
382
+ } : undefined,
383
+ } : undefined,
384
+ settings: {
385
+ generate_docs: true,
386
+ generate_local_settings: true,
387
+ },
353
388
  },
354
389
  },
355
390
  warnings,
@@ -441,14 +476,33 @@ export function importFromCodexDir(cwd, projectName) {
441
476
  if (Object.keys(agents).length === 0) {
442
477
  warnings.push({ file: join(cwd, '.codex', 'agents'), message: 'No agent .toml files found in .codex/agents/' });
443
478
  }
479
+ const agentConfigs = {};
480
+ for (const [id, coreAgent] of Object.entries(agents)) {
481
+ agentConfigs[id] = {
482
+ description: coreAgent.description,
483
+ model: coreAgent.runtime.model,
484
+ reasoning_effort: coreAgent.runtime.reasoningEffort,
485
+ tools: coreAgent.runtime.tools,
486
+ disallowed_tools: coreAgent.runtime.disallowedTools,
487
+ permission_mode: coreAgent.runtime.permissionMode,
488
+ skills: coreAgent.runtime.skillDocs,
489
+ max_turns: coreAgent.runtime.maxTurns,
490
+ mcp_servers: coreAgent.runtime.mcpServers,
491
+ background: coreAgent.runtime.background,
492
+ instruction_blocks: coreAgent.instructions,
493
+ forge: coreAgent.metadata,
494
+ };
495
+ }
444
496
  return {
445
497
  team: {
446
498
  version: '2',
447
499
  project: { name: projectName },
448
- agents,
449
- settings: {
450
- generateDocs: true,
451
- generateLocalSettings: true,
500
+ codex: {
501
+ agents: agentConfigs,
502
+ settings: {
503
+ generate_docs: true,
504
+ generate_local_settings: true,
505
+ },
452
506
  },
453
507
  },
454
508
  warnings,