@vibesdotdev/integrations-anthropic 0.0.0-stage → 1.0.0-rc.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 (150) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +57 -2
  3. package/dist/ai/anthropic-router-codec.d.ts +32 -0
  4. package/dist/ai/anthropic-router-codec.d.ts.map +1 -0
  5. package/dist/ai/anthropic-router-codec.js +321 -0
  6. package/dist/ai/anthropic-router-codec.js.map +1 -0
  7. package/dist/ai/anthropic.plugin.d.ts +6 -0
  8. package/dist/ai/anthropic.plugin.d.ts.map +1 -0
  9. package/dist/ai/anthropic.plugin.js +116 -0
  10. package/dist/ai/anthropic.plugin.js.map +1 -0
  11. package/dist/ai/catalog.d.ts +87 -0
  12. package/dist/ai/catalog.d.ts.map +1 -0
  13. package/dist/ai/catalog.js +64 -0
  14. package/dist/ai/catalog.js.map +1 -0
  15. package/dist/ai/claude-code-session.d.ts +56 -0
  16. package/dist/ai/claude-code-session.d.ts.map +1 -0
  17. package/dist/ai/claude-code-session.js +75 -0
  18. package/dist/ai/claude-code-session.js.map +1 -0
  19. package/dist/ai/claude-code-turn-env.d.ts +10 -0
  20. package/dist/ai/claude-code-turn-env.d.ts.map +1 -0
  21. package/dist/ai/claude-code-turn-env.js +19 -0
  22. package/dist/ai/claude-code-turn-env.js.map +1 -0
  23. package/dist/ai/hostile.d.ts +23 -0
  24. package/dist/ai/hostile.d.ts.map +1 -0
  25. package/dist/ai/hostile.js +22 -0
  26. package/dist/ai/hostile.js.map +1 -0
  27. package/dist/ai/index.d.ts +4 -0
  28. package/dist/ai/index.d.ts.map +1 -0
  29. package/dist/ai/index.js +4 -0
  30. package/dist/ai/index.js.map +1 -0
  31. package/dist/ai/metadata/assets/logos/providers/anthropic.svg +1 -0
  32. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-3-5-haiku-20241022.json +77 -0
  33. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-3-5-sonnet-20241022.json +42 -0
  34. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-4-opus-20250514.json +79 -0
  35. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-4-sonnet-20250514.json +79 -0
  36. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-haiku-4-5.json +80 -0
  37. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-haiku-5-5.json +39 -0
  38. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-opus-4-1.json +78 -0
  39. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-opus-4-5.json +80 -0
  40. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-opus-4-6.json +80 -0
  41. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-opus-4-7.json +81 -0
  42. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-sonnet-4-5.json +80 -0
  43. package/dist/ai/metadata/provider-models/anthropic/anthropic-claude-sonnet-4-6.json +80 -0
  44. package/dist/ai/metadata/providers/anthropic.json +22 -0
  45. package/dist/ai/providers/anthropic/anthropic.provider.impl.d.ts +62 -0
  46. package/dist/ai/providers/anthropic/anthropic.provider.impl.d.ts.map +1 -0
  47. package/dist/ai/providers/anthropic/anthropic.provider.impl.js +430 -0
  48. package/dist/ai/providers/anthropic/anthropic.provider.impl.js.map +1 -0
  49. package/dist/ai/providers/anthropic/detection/index.d.ts +8 -0
  50. package/dist/ai/providers/anthropic/detection/index.d.ts.map +1 -0
  51. package/dist/ai/providers/anthropic/detection/index.js +8 -0
  52. package/dist/ai/providers/anthropic/detection/index.js.map +1 -0
  53. package/dist/ai/providers/anthropic/detection/system.d.ts +12 -0
  54. package/dist/ai/providers/anthropic/detection/system.d.ts.map +1 -0
  55. package/dist/ai/providers/anthropic/detection/system.js +34 -0
  56. package/dist/ai/providers/anthropic/detection/system.js.map +1 -0
  57. package/dist/ai/providers/anthropic/docs/ai.providers.anthropic.docs.descriptor.d.ts +4 -0
  58. package/dist/ai/providers/anthropic/docs/ai.providers.anthropic.docs.descriptor.d.ts.map +1 -0
  59. package/dist/ai/providers/anthropic/docs/ai.providers.anthropic.docs.descriptor.js +212 -0
  60. package/dist/ai/providers/anthropic/docs/ai.providers.anthropic.docs.descriptor.js.map +1 -0
  61. package/dist/ai/providers/anthropic/index.d.ts +4 -0
  62. package/dist/ai/providers/anthropic/index.d.ts.map +1 -0
  63. package/dist/ai/providers/anthropic/index.js +4 -0
  64. package/dist/ai/providers/anthropic/index.js.map +1 -0
  65. package/dist/ai/providers/anthropic/recommendations.d.ts +24 -0
  66. package/dist/ai/providers/anthropic/recommendations.d.ts.map +1 -0
  67. package/dist/ai/providers/anthropic/recommendations.js +192 -0
  68. package/dist/ai/providers/anthropic/recommendations.js.map +1 -0
  69. package/dist/ai/providers/cloud/frontier/anthropic/config/config.anthropic.descriptor.d.ts +4194 -0
  70. package/dist/ai/providers/cloud/frontier/anthropic/config/config.anthropic.descriptor.d.ts.map +1 -0
  71. package/dist/ai/providers/cloud/frontier/anthropic/config/config.anthropic.descriptor.js +52 -0
  72. package/dist/ai/providers/cloud/frontier/anthropic/config/config.anthropic.descriptor.js.map +1 -0
  73. package/dist/ai/providers/cloud/frontier/anthropic/config/schemas/index.d.ts +46 -0
  74. package/dist/ai/providers/cloud/frontier/anthropic/config/schemas/index.d.ts.map +1 -0
  75. package/dist/ai/providers/cloud/frontier/anthropic/config/schemas/index.js +22 -0
  76. package/dist/ai/providers/cloud/frontier/anthropic/config/schemas/index.js.map +1 -0
  77. package/dist/ai/providers/cloud/frontier/anthropic/index.d.ts +5 -0
  78. package/dist/ai/providers/cloud/frontier/anthropic/index.d.ts.map +1 -0
  79. package/dist/ai/providers/cloud/frontier/anthropic/index.js +4 -0
  80. package/dist/ai/providers/cloud/frontier/anthropic/index.js.map +1 -0
  81. package/dist/ai/providers/cloud/frontier/anthropic/provider.anthropic.descriptor.d.ts +183 -0
  82. package/dist/ai/providers/cloud/frontier/anthropic/provider.anthropic.descriptor.d.ts.map +1 -0
  83. package/dist/ai/providers/cloud/frontier/anthropic/provider.anthropic.descriptor.js +115 -0
  84. package/dist/ai/providers/cloud/frontier/anthropic/provider.anthropic.descriptor.js.map +1 -0
  85. package/dist/ai/specs/anthropic-messages/anthropic-messages.failures.d.ts +46 -0
  86. package/dist/ai/specs/anthropic-messages/anthropic-messages.failures.d.ts.map +1 -0
  87. package/dist/ai/specs/anthropic-messages/anthropic-messages.failures.js +183 -0
  88. package/dist/ai/specs/anthropic-messages/anthropic-messages.failures.js.map +1 -0
  89. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.descriptor.d.ts +34 -0
  90. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.descriptor.d.ts.map +1 -0
  91. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.descriptor.js +29 -0
  92. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.descriptor.js.map +1 -0
  93. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.impl.d.ts +48 -0
  94. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.impl.d.ts.map +1 -0
  95. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.impl.js +557 -0
  96. package/dist/ai/specs/anthropic-messages/anthropic-messages.spec.impl.js.map +1 -0
  97. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.descriptor.d.ts +26 -0
  98. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.descriptor.d.ts.map +1 -0
  99. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.descriptor.js +15 -0
  100. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.descriptor.js.map +1 -0
  101. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.impl.d.ts +35 -0
  102. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.impl.d.ts.map +1 -0
  103. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.impl.js +210 -0
  104. package/dist/ai/specs/claude-code-exec/claude-code-exec.spec.impl.js.map +1 -0
  105. package/dist/external/acp-server.consumer.plugin.d.ts +3 -0
  106. package/dist/external/acp-server.consumer.plugin.d.ts.map +1 -0
  107. package/dist/external/acp-server.consumer.plugin.js +29 -0
  108. package/dist/external/acp-server.consumer.plugin.js.map +1 -0
  109. package/dist/external/acp-server.d.ts +19 -0
  110. package/dist/external/acp-server.d.ts.map +1 -0
  111. package/dist/external/acp-server.js +198 -0
  112. package/dist/external/acp-server.js.map +1 -0
  113. package/dist/external/claude-code-hooks.d.ts +51 -0
  114. package/dist/external/claude-code-hooks.d.ts.map +1 -0
  115. package/dist/external/claude-code-hooks.js +252 -0
  116. package/dist/external/claude-code-hooks.js.map +1 -0
  117. package/dist/external/claude-code-installer.d.ts +10 -0
  118. package/dist/external/claude-code-installer.d.ts.map +1 -0
  119. package/dist/external/claude-code-installer.js +604 -0
  120. package/dist/external/claude-code-installer.js.map +1 -0
  121. package/dist/external/claude-code-operations.d.ts +217 -0
  122. package/dist/external/claude-code-operations.d.ts.map +1 -0
  123. package/dist/external/claude-code-operations.js +101 -0
  124. package/dist/external/claude-code-operations.js.map +1 -0
  125. package/dist/external/claude-code-plugin.json +7 -0
  126. package/dist/external/claude-code-presets.d.ts +813 -0
  127. package/dist/external/claude-code-presets.d.ts.map +1 -0
  128. package/dist/external/claude-code-presets.js +157 -0
  129. package/dist/external/claude-code-presets.js.map +1 -0
  130. package/dist/external/claude-code.descriptor.d.ts +160 -0
  131. package/dist/external/claude-code.descriptor.d.ts.map +1 -0
  132. package/dist/external/claude-code.descriptor.js +5 -0
  133. package/dist/external/claude-code.descriptor.js.map +1 -0
  134. package/dist/external/claude-code.manifest.d.ts +5 -0
  135. package/dist/external/claude-code.manifest.d.ts.map +1 -0
  136. package/dist/external/claude-code.manifest.js +205 -0
  137. package/dist/external/claude-code.manifest.js.map +1 -0
  138. package/dist/external/external.plugin.d.ts +6 -0
  139. package/dist/external/external.plugin.d.ts.map +1 -0
  140. package/dist/external/external.plugin.js +56 -0
  141. package/dist/external/external.plugin.js.map +1 -0
  142. package/dist/external/index.d.ts +6 -0
  143. package/dist/external/index.d.ts.map +1 -0
  144. package/dist/external/index.js +6 -0
  145. package/dist/external/index.js.map +1 -0
  146. package/dist/index.d.ts +4 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +4 -0
  149. package/dist/index.js.map +1 -0
  150. package/package.json +108 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-presets.d.ts","sourceRoot":"","sources":["../../src/external/claude-code-presets.ts"],"names":[],"mappings":"AAuJA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGzC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGzC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG5C,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { externalPresetDescriptor } from '@vibesdotdev/external';
2
+ const baseFeatures = {
3
+ modelConfig: false,
4
+ workflowConfig: false,
5
+ disableInternalTools: false
6
+ };
7
+ function preset(input) {
8
+ return {
9
+ ...input,
10
+ target: 'claude-code',
11
+ category: input.category ?? 'integration',
12
+ version: '1.0.0'
13
+ };
14
+ }
15
+ const mcpStep = {
16
+ type: 'mcp-configure',
17
+ target: 'claude-code',
18
+ serverName: 'vibes',
19
+ // The declared Vibes executable and the serve arguments the manifest's MCP template carries.
20
+ command: 'vibes',
21
+ args: ['dev', 'mcp', 'serve', '--client', 'claude']
22
+ };
23
+ const validateStep = {
24
+ type: 'validate',
25
+ check: 'tool-installed',
26
+ target: 'claude',
27
+ message: 'Claude Code CLI is required',
28
+ fatal: true
29
+ };
30
+ const full = preset({
31
+ id: 'claude-code-vibes-full',
32
+ name: 'Vibes Full Integration',
33
+ description: 'MCP, lifecycle hooks, commands, and agents for Claude Code',
34
+ tags: ['recommended', 'mcp', 'hooks', 'session'],
35
+ features: {
36
+ ...baseFeatures,
37
+ mcpServer: true,
38
+ hooks: ['context.beforeCompact', 'tool.before', 'prompt.submit', 'agent.stop', 'subagent.stop', 'tool.after', 'session.start', 'session.end'],
39
+ aliases: ['vibes claude', 'vibes claude full']
40
+ },
41
+ recipe: {
42
+ id: 'claude-code-vibes-full',
43
+ name: 'Vibes Full Integration',
44
+ description: 'Install MCP, hooks, commands, and agents',
45
+ variables: { vibesPath: 'vibes' },
46
+ steps: [
47
+ validateStep,
48
+ mcpStep,
49
+ {
50
+ type: 'hook-install',
51
+ target: 'claude-code',
52
+ hooks: ['context.beforeCompact', 'tool.before', 'prompt.submit', 'agent.stop', 'subagent.stop', 'tool.after', 'session.start', 'session.end'],
53
+ vibesPath: '{{vibesPath}}'
54
+ },
55
+ {
56
+ type: 'operation',
57
+ operationId: 'anthropic/claude-code/assets',
58
+ options: { components: ['commands', 'agents'] }
59
+ }
60
+ ]
61
+ }
62
+ });
63
+ const mcp = preset({
64
+ id: 'claude-code-vibes-mcp',
65
+ name: 'Vibes MCP Only',
66
+ description: 'MCP tools without lifecycle hooks',
67
+ tags: ['mcp', 'minimal'],
68
+ features: { ...baseFeatures, mcpServer: true, hooks: [], aliases: ['vibes claude'] },
69
+ recipe: {
70
+ id: 'claude-code-vibes-mcp',
71
+ name: 'Vibes MCP Only',
72
+ description: 'Install the Vibes MCP server',
73
+ steps: [validateStep, mcpStep]
74
+ }
75
+ });
76
+ const only = preset({
77
+ id: 'claude-code-vibes-only',
78
+ name: 'Vibes Tools Only',
79
+ description: 'Use Vibes MCP tools and disable overlapping Claude built-ins',
80
+ category: 'workflow',
81
+ tags: ['vibes-only', 'mcp'],
82
+ features: {
83
+ ...baseFeatures,
84
+ mcpServer: true,
85
+ hooks: ['session.start'],
86
+ aliases: ['vibes claude only'],
87
+ workflowConfig: true,
88
+ disableInternalTools: true
89
+ },
90
+ recipe: {
91
+ id: 'claude-code-vibes-only',
92
+ name: 'Vibes Tools Only',
93
+ description: 'Install MCP and constrain tool policy',
94
+ steps: [
95
+ validateStep,
96
+ mcpStep,
97
+ {
98
+ type: 'file-edit',
99
+ path: '.claude/settings.local.json',
100
+ format: 'json',
101
+ merge: {
102
+ // Claude's settings schema keys: `allow` and `deny` (`allowedTools` and `deniedTools` are
103
+ // CLI flags, not settings keys: code.claude.com/docs/en/settings-reference, permissions).
104
+ permissions: {
105
+ allow: ['mcp__vibes__*'],
106
+ deny: ['Read', 'Write', 'Edit', 'MultiEdit', 'Bash', 'Glob', 'Grep', 'LS']
107
+ }
108
+ }
109
+ }
110
+ ]
111
+ }
112
+ });
113
+ const session = preset({
114
+ id: 'claude-code-vibes-session',
115
+ name: 'Vibes Session Tracking',
116
+ description: 'Session lifecycle projection without feature ownership',
117
+ tags: ['session', 'hooks'],
118
+ features: {
119
+ ...baseFeatures,
120
+ mcpServer: true,
121
+ hooks: ['tool.after', 'session.start', 'session.end'],
122
+ aliases: []
123
+ },
124
+ recipe: {
125
+ id: 'claude-code-vibes-session',
126
+ name: 'Vibes Session Tracking',
127
+ description: 'Install MCP and session hooks',
128
+ variables: { vibesPath: 'vibes' },
129
+ steps: [
130
+ validateStep,
131
+ mcpStep,
132
+ {
133
+ type: 'hook-install',
134
+ target: 'claude-code',
135
+ hooks: ['tool.after', 'session.start', 'session.end'],
136
+ vibesPath: '{{vibesPath}}'
137
+ }
138
+ ]
139
+ }
140
+ });
141
+ export const claudeCodeFullPresetDescriptor = externalPresetDescriptor({
142
+ preset: full,
143
+ profiles: [{ id: 'full', presetId: full.id, aliases: ['hooks', 'plugin'] }]
144
+ });
145
+ export const claudeCodeMcpPresetDescriptor = externalPresetDescriptor({
146
+ preset: mcp,
147
+ profiles: [{ id: 'mcp', presetId: mcp.id }]
148
+ });
149
+ export const claudeCodeOnlyPresetDescriptor = externalPresetDescriptor({
150
+ preset: only,
151
+ profiles: [{ id: 'only', presetId: only.id }]
152
+ });
153
+ export const claudeCodeSessionPresetDescriptor = externalPresetDescriptor({
154
+ preset: session,
155
+ profiles: [{ id: 'session', presetId: session.id }]
156
+ });
157
+ //# sourceMappingURL=claude-code-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-presets.js","sourceRoot":"","sources":["../../src/external/claude-code-presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAe,MAAM,uBAAuB,CAAC;AAE9E,MAAM,YAAY,GAAG;IACpB,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;IACrB,oBAAoB,EAAE,KAAK;CAC3B,CAAC;AAEF,SAAS,MAAM,CACd,KAA0F;IAE1F,OAAO;QACN,GAAG,KAAK;QACR,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,aAAa;QACzC,OAAO,EAAE,OAAO;KAChB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG;IACf,IAAI,EAAE,eAAwB;IAC9B,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,OAAO;IACnB,6FAA6F;IAC7F,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;CACnD,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,IAAI,EAAE,UAAmB;IACzB,KAAK,EAAE,gBAAyB;IAChC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,6BAA6B;IACtC,KAAK,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC;IACnB,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;IAChD,QAAQ,EAAE;QACT,GAAG,YAAY;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC;QAC7I,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC9C;IACD,MAAM,EAAE;QACP,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0CAA0C;QACvD,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;QACjC,KAAK,EAAE;YACN,YAAY;YACZ,OAAO;YACP;gBACC,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,CAAC,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC;gBAC7I,SAAS,EAAE,eAAe;aAC1B;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;aAC/C;SACD;KACD;CACD,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,MAAM,CAAC;IAClB,EAAE,EAAE,uBAAuB;IAC3B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE;IACpF,MAAM,EAAE;QACP,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;KAC9B;CACD,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,MAAM,CAAC;IACnB,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;IAC3B,QAAQ,EAAE;QACT,GAAG,YAAY;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,eAAe,CAAC;QACxB,OAAO,EAAE,CAAC,mBAAmB,CAAC;QAC9B,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,IAAI;KAC1B;IACD,MAAM,EAAE;QACP,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uCAAuC;QACpD,KAAK,EAAE;YACN,YAAY;YACZ,OAAO;YACP;gBACC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,6BAA6B;gBACnC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE;oBACN,0FAA0F;oBAC1F,0FAA0F;oBAC1F,WAAW,EAAE;wBACZ,KAAK,EAAE,CAAC,eAAe,CAAC;wBACxB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;qBAC1E;iBACD;aACD;SACD;KACD;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,MAAM,CAAC;IACtB,EAAE,EAAE,2BAA2B;IAC/B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,wDAAwD;IACrE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE;QACT,GAAG,YAAY;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC;QACrD,OAAO,EAAE,EAAE;KACX;IACD,MAAM,EAAE;QACP,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,+BAA+B;QAC5C,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;QACjC,KAAK,EAAE;YACN,YAAY;YACZ,OAAO;YACP;gBACC,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC;gBACrD,SAAS,EAAE,eAAe;aAC1B;SACD;KACD;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;IACtE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,wBAAwB,CAAC;IACrE,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;IACtE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,wBAAwB,CAAC;IACzE,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;CACnD,CAAC,CAAC"}
@@ -0,0 +1,160 @@
1
+ export declare const claudeCodeDescriptor: {
2
+ id: string;
3
+ kind: "external/host";
4
+ manifest: {
5
+ schemaVersion: "1.0";
6
+ id: string;
7
+ name: string;
8
+ description: string;
9
+ category: "cli" | "ide-extension" | "ide-native";
10
+ website: string;
11
+ platforms: ("win32" | "darwin" | "linux" | "all")[];
12
+ configs: {
13
+ path: string;
14
+ format: "json" | "yaml" | "toml" | "jsonc";
15
+ scope: "global" | "project";
16
+ platform?: "win32" | "darwin" | "linux" | "all" | undefined;
17
+ mcpPath?: string | undefined;
18
+ }[];
19
+ mcp: {
20
+ supported: boolean;
21
+ transports: ("sse" | "http" | "stdio")[];
22
+ defaultServerName: string;
23
+ projectConfig: boolean;
24
+ envVarsInConfig: boolean;
25
+ options?: {
26
+ startupTimeout?: number | undefined;
27
+ toolTimeout?: number | undefined;
28
+ autoRestart?: boolean | undefined;
29
+ } | undefined;
30
+ };
31
+ hooks: {
32
+ supported: boolean;
33
+ events: ("context.beforeCompact" | "tool.before" | "prompt.submit" | "agent.stop" | "subagent.stop" | "tool.after" | "session.start" | "session.end" | "context.afterCompact" | "permission.request" | "notification")[];
34
+ nativeEventMap: Record<string, "context.beforeCompact" | "tool.before" | "prompt.submit" | "agent.stop" | "subagent.stop" | "tool.after" | "session.start" | "session.end" | "context.afterCompact" | "permission.request" | "notification">;
35
+ structuredInput: boolean;
36
+ canModify: boolean;
37
+ format?: "json" | "typescript" | "shell" | "python" | undefined;
38
+ trust?: {
39
+ step: string;
40
+ } | undefined;
41
+ };
42
+ plugins: {
43
+ supported: boolean;
44
+ format?: "typescript" | "python" | "javascript" | "lua" | undefined;
45
+ entryPoint?: string | undefined;
46
+ manifestFile?: string | undefined;
47
+ };
48
+ skills: {
49
+ supported: boolean;
50
+ format: "agents-md";
51
+ projectScoped: boolean;
52
+ globalPath?: string | undefined;
53
+ projectPath?: string | undefined;
54
+ };
55
+ detection: {
56
+ command?: string | undefined;
57
+ altCommands?: string[] | undefined;
58
+ configDir?: string | undefined;
59
+ binaryPath?: string | undefined;
60
+ versionArgs?: string[] | undefined;
61
+ versionRegex?: string | undefined;
62
+ platformPaths?: {
63
+ darwin?: {
64
+ binaryPath?: string | undefined;
65
+ configDir?: string | undefined;
66
+ } | undefined;
67
+ linux?: {
68
+ binaryPath?: string | undefined;
69
+ configDir?: string | undefined;
70
+ } | undefined;
71
+ win32?: {
72
+ binaryPath?: string | undefined;
73
+ configDir?: string | undefined;
74
+ } | undefined;
75
+ } | undefined;
76
+ extensionMatch?: {
77
+ dir: string;
78
+ prefixes: string[];
79
+ } | undefined;
80
+ };
81
+ integration: {
82
+ mcp?: {
83
+ installer?: string | undefined;
84
+ configTemplate?: Record<string, import("@vibesdotdev/kernel/bootstrap").JsonValue> | undefined;
85
+ } | undefined;
86
+ hooks?: {
87
+ defaultPromptPolicy: "default" | "none" | "custom-only";
88
+ installer?: string | undefined;
89
+ templates?: Partial<Record<"context.beforeCompact" | "tool.before" | "prompt.submit" | "agent.stop" | "subagent.stop" | "tool.after" | "session.start" | "session.end" | "context.afterCompact" | "permission.request" | "notification", string>> | undefined;
90
+ handlerOptions?: Partial<Record<"context.beforeCompact" | "tool.before" | "prompt.submit" | "agent.stop" | "subagent.stop" | "tool.after" | "session.start" | "session.end" | "context.afterCompact" | "permission.request" | "notification", Record<string, import("@vibesdotdev/kernel/bootstrap").JsonValue>>> | undefined;
91
+ hookAdapterId?: string | undefined;
92
+ workspaceRootEnv?: string | undefined;
93
+ } | undefined;
94
+ plugins?: {
95
+ installer?: string | undefined;
96
+ template?: string | undefined;
97
+ } | undefined;
98
+ presets?: {
99
+ available: string[];
100
+ default?: string | undefined;
101
+ } | undefined;
102
+ };
103
+ version: string;
104
+ hostAliases?: string[] | undefined;
105
+ shortName?: string | undefined;
106
+ assets?: {
107
+ hooks?: string | undefined;
108
+ plugins?: string | undefined;
109
+ commands?: string | undefined;
110
+ agents?: string | undefined;
111
+ templates?: string | undefined;
112
+ skills?: string | undefined;
113
+ settings?: string | undefined;
114
+ globalSettings?: string | undefined;
115
+ } | undefined;
116
+ launch?: {
117
+ defaultMode: string;
118
+ modes: Record<string, string[] | {
119
+ argv: (string | {
120
+ when: string;
121
+ args: string[];
122
+ })[];
123
+ stdin: "null" | "inherit";
124
+ command?: string | undefined;
125
+ structuredOutput?: {
126
+ field: string;
127
+ schemaTarget?: "draft-2020-12" | "draft-7" | undefined;
128
+ wrap?: string | undefined;
129
+ } | undefined;
130
+ }>;
131
+ } | undefined;
132
+ metadata?: Record<string, unknown> | undefined;
133
+ };
134
+ adapters: {
135
+ adapter: string;
136
+ supported: boolean;
137
+ config: Record<string, unknown>;
138
+ }[];
139
+ name?: string | undefined;
140
+ description?: string | undefined;
141
+ tags?: string[] | undefined;
142
+ hardware?: string[] | undefined;
143
+ enabled?: boolean | undefined;
144
+ priority?: number | undefined;
145
+ capabilityId?: string | undefined;
146
+ requiredContext?: string[] | undefined;
147
+ optionalContext?: string[] | undefined;
148
+ config?: unknown;
149
+ retention?: string | {
150
+ reason: string;
151
+ maxAgeDays?: number | undefined;
152
+ maxEntries?: number | undefined;
153
+ maxBytes?: number | undefined;
154
+ cascadeFrom?: string | undefined;
155
+ ageField?: string | undefined;
156
+ enforcedBy?: string | undefined;
157
+ } | undefined;
158
+ };
159
+ export default claudeCodeDescriptor;
160
+ //# sourceMappingURL=claude-code.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.descriptor.d.ts","sourceRoot":"","sources":["../../src/external/claude-code.descriptor.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyD,CAAC;AAE3F,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { externalHostDescriptorFromManifest } from '@vibesdotdev/external';
2
+ import { claudeCodeManifest } from "./claude-code.manifest.js";
3
+ export const claudeCodeDescriptor = externalHostDescriptorFromManifest(claudeCodeManifest);
4
+ export default claudeCodeDescriptor;
5
+ //# sourceMappingURL=claude-code.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.descriptor.js","sourceRoot":"","sources":["../../src/external/claude-code.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;AAE3F,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ExternalHostManifest } from '@vibesdotdev/external';
2
+ /** Anthropic-owned projection data for Claude Code. */
3
+ export declare const claudeCodeManifest: ExternalHostManifest;
4
+ export default claudeCodeManifest;
5
+ //# sourceMappingURL=claude-code.manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.manifest.d.ts","sourceRoot":"","sources":["../../src/external/claude-code.manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAgDlF,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,EAAE,oBA+J/B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,205 @@
1
+ import { createManifest } from '@vibesdotdev/external';
2
+ // The installer bakes the shared dispatcher's absolute path (under the
3
+ // runtime's vibes home) into `{{dispatchPath}}`; a fired hook re-derives no home.
4
+ // `{{workspacePrelude}}` starts the hook in the session's project root (`workspaceRootEnv`).
5
+ const DISPATCH = '{{dispatchPath}}';
6
+ // Claude surfaces hook stdout/stderr and treats a slow or failed CLI boot as
7
+ // a visible PostToolUse error. Capture stdin, return immediately, finish
8
+ // continuity in the background — same detach as SessionEnd.
9
+ function claudeDetachedHookTemplate(event, label) {
10
+ return `#!/bin/bash
11
+ # Claude ${label} Hook - detached Vibes continuity
12
+ export VIBES_AGENT_ID="\${VIBES_AGENT_ID:-claude}"
13
+ {{workspacePrelude}}umask 077
14
+ payload_path="$(mktemp "\${TMPDIR:-/tmp}/vibes-claude-${event}.XXXXXX")" || exit 0
15
+ cat > "$payload_path"
16
+ (
17
+ ${DISPATCH} ${event} claude-code < "$payload_path"
18
+ hook_status=$?
19
+ rm -f -- "$payload_path"
20
+ exit "$hook_status"
21
+ ) >/dev/null 2>&1 &
22
+ exit 0
23
+ `;
24
+ }
25
+ const claudeSessionEndHookTemplate = claudeDetachedHookTemplate('session.end', 'SessionEnd');
26
+ const claudeToolAfterHookTemplate = claudeDetachedHookTemplate('tool.after', 'PostToolUse');
27
+ // Synchronous hooks: Claude reads their stdout (PreToolUse lock deny,
28
+ // UserPromptSubmit delivery, Stop/SubagentStop self-review). The dispatcher
29
+ // relays to the runtime daemon; tier enforcement (the `external` config's
30
+ // `collaboration.toolTiers`) is applied inside the handler, never here, so the
31
+ // native-edit lock guard runs on every PreToolUse.
32
+ function claudeSyncHookTemplate(event, label) {
33
+ return `#!/bin/bash
34
+ # Claude ${label} Hook - synchronous, output reaches Claude
35
+ export VIBES_AGENT_ID="\${VIBES_AGENT_ID:-claude}"
36
+ {{workspacePrelude}}exec ${DISPATCH} ${event} claude-code
37
+ `;
38
+ }
39
+ const claudeToolBeforeHookTemplate = claudeSyncHookTemplate('tool.before', 'PreToolUse');
40
+ const claudePromptSubmitHookTemplate = claudeSyncHookTemplate('prompt.submit', 'UserPromptSubmit');
41
+ const claudeAgentStopHookTemplate = claudeSyncHookTemplate('agent.stop', 'Stop');
42
+ const claudeSubagentStopHookTemplate = claudeSyncHookTemplate('subagent.stop', 'SubagentStop');
43
+ /** Anthropic-owned projection data for Claude Code. */
44
+ export const claudeCodeManifest = createManifest({
45
+ id: 'claude-code',
46
+ name: 'Claude Code',
47
+ shortName: 'claude',
48
+ description: "Anthropic's terminal coding agent",
49
+ category: 'cli',
50
+ website: 'https://docs.anthropic.com/en/docs/claude-code',
51
+ // The hook templates are POSIX shell (`#!/bin/bash`), so the projection claims the platforms they run on.
52
+ platforms: ['darwin', 'linux'],
53
+ configs: [
54
+ { path: '${HOME}/.claude.json', format: 'json', scope: 'global', mcpPath: 'mcpServers' },
55
+ { path: '.mcp.json', format: 'json', scope: 'project', mcpPath: 'mcpServers' }
56
+ ],
57
+ assets: {
58
+ hooks: '${HOME}/.claude/hooks',
59
+ commands: '${HOME}/.claude/commands',
60
+ agents: '${HOME}/.claude/agents',
61
+ skills: '${HOME}/.claude/skills',
62
+ settings: '.claude/settings.local.json',
63
+ globalSettings: '${HOME}/.claude/settings.json'
64
+ },
65
+ mcp: {
66
+ supported: true,
67
+ transports: ['stdio'],
68
+ defaultServerName: 'vibes',
69
+ projectConfig: true,
70
+ envVarsInConfig: true,
71
+ options: { autoRestart: true }
72
+ },
73
+ hooks: {
74
+ supported: true,
75
+ events: [
76
+ 'tool.before',
77
+ 'tool.after',
78
+ 'context.beforeCompact',
79
+ 'context.afterCompact',
80
+ 'session.start',
81
+ 'session.end',
82
+ 'permission.request',
83
+ 'agent.stop',
84
+ 'subagent.stop',
85
+ 'prompt.submit',
86
+ 'notification'
87
+ ],
88
+ nativeEventMap: {
89
+ PreToolUse: 'tool.before',
90
+ PostToolUse: 'tool.after',
91
+ PreCompact: 'context.beforeCompact',
92
+ PostCompact: 'context.afterCompact',
93
+ SessionStart: 'session.start',
94
+ SessionEnd: 'session.end',
95
+ PermissionRequest: 'permission.request',
96
+ Stop: 'agent.stop',
97
+ SubagentStop: 'subagent.stop',
98
+ UserPromptSubmit: 'prompt.submit',
99
+ Notification: 'notification'
100
+ },
101
+ format: 'shell',
102
+ structuredInput: true,
103
+ canModify: true
104
+ },
105
+ plugins: {
106
+ supported: true,
107
+ format: 'typescript',
108
+ entryPoint: 'plugin.ts',
109
+ manifestFile: 'plugin.json'
110
+ },
111
+ skills: {
112
+ supported: true,
113
+ format: 'agents-md',
114
+ projectScoped: true,
115
+ globalPath: '${HOME}/.claude/skills',
116
+ projectPath: '.claude/skills'
117
+ },
118
+ detection: {
119
+ command: 'claude',
120
+ versionArgs: ['--version'],
121
+ versionRegex: 'claude-code/([\\d.]+)',
122
+ configDir: '${HOME}/.claude'
123
+ },
124
+ integration: {
125
+ mcp: {
126
+ configTemplate: {
127
+ type: 'stdio',
128
+ command: 'vibes',
129
+ args: ['dev', 'mcp', 'serve', '--client', 'claude'],
130
+ env: {}
131
+ }
132
+ },
133
+ hooks: {
134
+ hookAdapterId: 'anthropic/claude-code-hooks',
135
+ // Claude runs hooks in the tool's cwd, which can sit in a nested repository; its project root is the session's workspace.
136
+ workspaceRootEnv: 'CLAUDE_PROJECT_DIR',
137
+ templates: {
138
+ 'session.end': claudeSessionEndHookTemplate,
139
+ 'tool.after': claudeToolAfterHookTemplate,
140
+ 'tool.before': claudeToolBeforeHookTemplate,
141
+ 'prompt.submit': claudePromptSubmitHookTemplate,
142
+ 'agent.stop': claudeAgentStopHookTemplate,
143
+ 'subagent.stop': claudeSubagentStopHookTemplate
144
+ }
145
+ },
146
+ presets: {
147
+ available: [
148
+ 'claude-code-vibes-full',
149
+ 'claude-code-vibes-mcp',
150
+ 'claude-code-vibes-only',
151
+ 'claude-code-vibes-session'
152
+ ],
153
+ default: 'claude-code-vibes-mcp'
154
+ }
155
+ },
156
+ version: '1.0.0',
157
+ launch: {
158
+ defaultMode: 'print',
159
+ modes: {
160
+ // Detached vibes launch: Claude -p/--print needs the prompt on argv.
161
+ // Without ${prompt}, stdin is null/empty and the process exits.
162
+ //
163
+ // `--dangerously-skip-permissions` is opt-in: it is passed only when the launch caller
164
+ // declares a sandboxed or restricted execution policy (`--execution-policy`, the
165
+ // `executionPolicy` launch variable `@vibesdotdev/external` owns). Absent, Claude asks
166
+ // for approval as it does by default.
167
+ print: {
168
+ command: 'claude',
169
+ stdin: 'null',
170
+ argv: [
171
+ '-p',
172
+ '${prompt}',
173
+ { when: 'executionPolicy', args: ['--dangerously-skip-permissions'] },
174
+ { when: 'model', args: ['--model', '${model}'] },
175
+ // claude 2.1.304: `--effort <level>` accepts low, medium, high, xhigh, or max.
176
+ { when: 'effort', args: ['--effort', '${effort}'] },
177
+ // A task with an output schema gets Claude's own validated answer: one JSON envelope whose
178
+ // `structured_output` field holds it (claude 2.1.303: --output-format json --json-schema).
179
+ { when: 'outputSchema', args: ['--output-format', 'json', '--json-schema', '${outputSchema}'] }
180
+ ],
181
+ // claude validates draft-07 and takes only an object-root schema (2.1.303): the task schema is
182
+ // rendered to draft-07 and placed under `answer`.
183
+ structuredOutput: { field: 'structured_output', schemaTarget: 'draft-7', wrap: 'answer' }
184
+ },
185
+ // Interactive TTY lane (prompt not required on argv).
186
+ full: {
187
+ command: 'claude',
188
+ stdin: 'inherit',
189
+ argv: [
190
+ { when: 'executionPolicy', args: ['--dangerously-skip-permissions'] },
191
+ // claude 2.1.304: `--effort <level>` accepts low, medium, high, xhigh, or max.
192
+ { when: 'effort', args: ['--effort', '${effort}'] }
193
+ ]
194
+ }
195
+ }
196
+ },
197
+ metadata: {
198
+ vendor: 'Anthropic',
199
+ modelFamily: 'Claude',
200
+ requiresAuth: false,
201
+ setupWizard: 'claude-code'
202
+ }
203
+ });
204
+ export default claudeCodeManifest;
205
+ //# sourceMappingURL=claude-code.manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.manifest.js","sourceRoot":"","sources":["../../src/external/claude-code.manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Complete runtime boundary for Anthropic's Claude Code projection.
3
+ */
4
+ export declare const anthropicExternalPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
5
+ export default anthropicExternalPlugin;
6
+ //# sourceMappingURL=external.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external.plugin.d.ts","sourceRoot":"","sources":["../../src/external/external.plugin.ts"],"names":[],"mappings":"AAgCA;;GAEG;AACH,eAAO,MAAM,uBAAuB,6CAsDlC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { createRuntimePlugin } from '@vibesdotdev/kernel';
2
+ import { createExternalHostLoader, registerExternalHost, registerExternalOperation, registerExternalPreset } from '@vibesdotdev/external';
3
+ import { EXTERNAL_HOOK_ADAPTER_KIND, createExternalHookAdapterLoader } from '@vibesdotdev/external/hooks';
4
+ import { claudeCodeDescriptor } from "./claude-code.descriptor.js";
5
+ import { claudeCodeHookAdapter, claudeCodeHookAdapterDescriptor } from "./claude-code-hooks.js";
6
+ import { claudeCodeFullPresetDescriptor, claudeCodeMcpPresetDescriptor, claudeCodeOnlyPresetDescriptor, claudeCodeSessionPresetDescriptor } from "./claude-code-presets.js";
7
+ import { claudeCodeAssetsOperationDescriptor, claudeCodeBackupOperationDescriptor, claudeCodeBackupsOperationDescriptor, claudeCodeBuildOperationDescriptor, claudeCodeInstallOperationDescriptor, claudeCodeRestoreOperationDescriptor, claudeCodeStatusOperationDescriptor, claudeCodeUninstallOperationDescriptor } from "./claude-code-operations.js";
8
+ const consumerConstraint = { constraint: { hardware: ['consumer'] } };
9
+ /**
10
+ * Complete runtime boundary for Anthropic's Claude Code projection.
11
+ */
12
+ export const anthropicExternalPlugin = createRuntimePlugin({
13
+ id: 'integrations-anthropic/external',
14
+ name: 'Anthropic external-tool integration',
15
+ description: 'Registers the Claude Code host, hooks, presets, and provider-owned operations',
16
+ dependencies: ['@vibesdotdev/plugins-core', 'external'],
17
+ async onRegister(runtime) {
18
+ await registerExternalHost(runtime, claudeCodeDescriptor, createExternalHostLoader(claudeCodeDescriptor));
19
+ runtime.registerDescriptor(EXTERNAL_HOOK_ADAPTER_KIND, claudeCodeHookAdapterDescriptor);
20
+ runtime.registerLoader(EXTERNAL_HOOK_ADAPTER_KIND, claudeCodeHookAdapterDescriptor.id, createExternalHookAdapterLoader({
21
+ descriptor: claudeCodeHookAdapterDescriptor,
22
+ load: async () => claudeCodeHookAdapter,
23
+ constraint: { hardware: ['consumer'] }
24
+ }), consumerConstraint);
25
+ registerExternalPreset(runtime, claudeCodeFullPresetDescriptor);
26
+ registerExternalPreset(runtime, claudeCodeMcpPresetDescriptor);
27
+ registerExternalPreset(runtime, claudeCodeOnlyPresetDescriptor);
28
+ registerExternalPreset(runtime, claudeCodeSessionPresetDescriptor);
29
+ await registerExternalOperation(runtime, claudeCodeInstallOperationDescriptor, async () => ({
30
+ impl: (await import("./claude-code-installer.js")).claudeCodeInstallOperation
31
+ }));
32
+ await registerExternalOperation(runtime, claudeCodeUninstallOperationDescriptor, async () => ({
33
+ impl: (await import("./claude-code-installer.js")).claudeCodeUninstallOperation
34
+ }));
35
+ await registerExternalOperation(runtime, claudeCodeStatusOperationDescriptor, async () => ({
36
+ impl: (await import("./claude-code-installer.js")).claudeCodeStatusOperation
37
+ }));
38
+ await registerExternalOperation(runtime, claudeCodeBackupOperationDescriptor, async () => ({
39
+ impl: (await import("./claude-code-installer.js")).claudeCodeBackupOperation
40
+ }));
41
+ await registerExternalOperation(runtime, claudeCodeBackupsOperationDescriptor, async () => ({
42
+ impl: (await import("./claude-code-installer.js")).claudeCodeBackupsOperation
43
+ }));
44
+ await registerExternalOperation(runtime, claudeCodeRestoreOperationDescriptor, async () => ({
45
+ impl: (await import("./claude-code-installer.js")).claudeCodeRestoreOperation
46
+ }));
47
+ await registerExternalOperation(runtime, claudeCodeBuildOperationDescriptor, async () => ({
48
+ impl: (await import("./claude-code-installer.js")).claudeCodeBuildOperation
49
+ }));
50
+ await registerExternalOperation(runtime, claudeCodeAssetsOperationDescriptor, async () => ({
51
+ impl: (await import("./claude-code-installer.js")).claudeCodeAssetsOperation
52
+ }));
53
+ }
54
+ });
55
+ export default anthropicExternalPlugin;
56
+ //# sourceMappingURL=external.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external.plugin.js","sourceRoot":"","sources":["../../src/external/external.plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './claude-code-presets.ts';
2
+ export * from './claude-code-operations.ts';
3
+ export { claudeCodeManifest } from './claude-code.manifest.ts';
4
+ export { claudeCodeDescriptor } from './claude-code.descriptor.ts';
5
+ export { claudeCodeHookAdapterDescriptor, normalizeClaudeCodeHook, renderClaudeCodeHook } from './claude-code-hooks.ts';
6
+ //# sourceMappingURL=index.d.ts.map