@aws/agentcore 1.0.0-preview.27 → 1.0.0-preview.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -197,10 +197,10 @@ Policy engines apply Cedar-based pre/post-call policies to agent invocations —
197
197
  Pay-per-call agent transactions via the [x402 protocol](https://www.x402.org/). When a tool call returns
198
198
  `402 Payment Required`, the payments system signs and submits payment then retries automatically.
199
199
 
200
- | Command | Description |
201
- | ----------------------- | ---------------------------------------------------------------------------- |
202
- | `add payment-manager` | Add a payment manager (orchestrates payment sessions for the agent) |
203
- | `add payment-connector` | Add a payment connector with provider credentials (CoinbaseCDP, StripePrivy) |
200
+ | Command | Description |
201
+ | ----------------------- | ------------------------------------------------------------------------- |
202
+ | `add payment-manager` | Add a payment manager (orchestrates payment sessions for the agent) |
203
+ | `add payment-connector` | Add a Quick Create or manual payment connector (CoinbaseCDP, StripePrivy) |
204
204
 
205
205
  > See [Payments](docs/payments.md) for the full setup including instrument creation and tool allowlists.
206
206
 
@@ -186,7 +186,12 @@ async function main() {
186
186
  autoPayment?: boolean;
187
187
  paymentToolAllowlist?: string[];
188
188
  networkPreferences?: string[];
189
- connectors: { name: string; provider?: string; credentialName: string }[];
189
+ connectors: {
190
+ name: string;
191
+ provider?: string;
192
+ provisionMode?: 'MANUAL' | 'QUICK_CREATE';
193
+ credentialName?: string;
194
+ }[];
190
195
  }) => ({
191
196
  name: p.name,
192
197
  description: p.description,
@@ -196,6 +201,19 @@ async function main() {
196
201
  paymentToolAllowlist: p.paymentToolAllowlist,
197
202
  networkPreferences: p.networkPreferences,
198
203
  connectors: p.connectors.map(c => {
204
+ if (c.provisionMode === 'QUICK_CREATE') {
205
+ return {
206
+ name: c.name,
207
+ provider: 'CoinbaseCDP' as const,
208
+ provisionMode: 'QUICK_CREATE' as const,
209
+ };
210
+ }
211
+
212
+ if (!c.credentialName) {
213
+ throw new Error(
214
+ \`Manual payment connector "\${c.name}" on manager "\${p.name}" is missing its credential name.\`
215
+ );
216
+ }
199
217
  const credentialProviderArn = paymentCredentials?.[c.credentialName]?.credentialProviderArn;
200
218
  if (!credentialProviderArn) {
201
219
  // Fail fast with an actionable message rather than passing an empty
@@ -206,7 +224,13 @@ async function main() {
206
224
  \`Run \\\`agentcore deploy\\\` so the credential provider is created first.\`
207
225
  );
208
226
  }
209
- return { name: c.name, provider: c.provider, credentialProviderArn };
227
+ return {
228
+ name: c.name,
229
+ provider: c.provider,
230
+ ...(c.provisionMode && { provisionMode: c.provisionMode }),
231
+ credentialName: c.credentialName,
232
+ credentialProviderArn,
233
+ };
210
234
  }),
211
235
  })
212
236
  )
@@ -378,12 +402,24 @@ import { Construct } from 'constructs';
378
402
  */
379
403
  export type HarnessConfig = HarnessDeploymentConfig;
380
404
 
381
- export interface PaymentConnectorSpec {
405
+ export interface ManualPaymentConnectorSpec {
382
406
  name: string;
383
407
  provider: 'CoinbaseCDP' | 'StripePrivy';
408
+ provisionMode?: 'MANUAL';
409
+ credentialName: string;
384
410
  credentialProviderArn: string;
385
411
  }
386
412
 
413
+ export interface QuickCreatePaymentConnectorSpec {
414
+ name: string;
415
+ provider: 'CoinbaseCDP';
416
+ provisionMode: 'QUICK_CREATE';
417
+ credentialName?: never;
418
+ credentialProviderArn?: never;
419
+ }
420
+
421
+ export type PaymentConnectorSpec = ManualPaymentConnectorSpec | QuickCreatePaymentConnectorSpec;
422
+
387
423
  export interface PaymentSpec {
388
424
  name: string;
389
425
  description?: string;
@@ -562,13 +598,31 @@ export class AgentCoreStack extends Stack {
562
598
  // Create connectors for this manager
563
599
  for (const connector of payment.connectors) {
564
600
  const connId = toCdkId(connector.name);
565
- const conn = new AgentCorePaymentConnector(this, \`Payment\${mgrId}\${connId}\`, {
601
+ const schemaConnector =
602
+ connector.provisionMode === 'QUICK_CREATE'
603
+ ? connector
604
+ : {
605
+ name: connector.name,
606
+ provider: connector.provider,
607
+ ...(connector.provisionMode && { provisionMode: connector.provisionMode }),
608
+ credentialName: connector.credentialName,
609
+ };
610
+ const compatibilityProps = {
566
611
  projectName: spec.name,
567
612
  paymentManager: manager,
613
+ connector: schemaConnector,
614
+ // Remove these legacy manual fields after the new L3 release is pinned.
568
615
  connectorName: connector.name,
569
616
  connectorType: connector.provider,
570
- credentialProviderArn: connector.credentialProviderArn,
571
- });
617
+ ...(connector.provisionMode !== 'QUICK_CREATE' && {
618
+ credentialProviderArn: connector.credentialProviderArn,
619
+ }),
620
+ };
621
+ const conn = new AgentCorePaymentConnector(
622
+ this,
623
+ \`Payment\${mgrId}\${connId}\`,
624
+ compatibilityProps as unknown as ConstructorParameters<typeof AgentCorePaymentConnector>[2]
625
+ );
572
626
 
573
627
  // Wire first connector's ID as env var (eligible agents only)
574
628
  if (connector === payment.connectors[0]) {
@@ -581,6 +635,18 @@ export class AgentCoreStack extends Stack {
581
635
  new CfnOutput(this, \`Payment\${mgrId}\${connId}ConnectorId\`, {
582
636
  value: conn.paymentConnectorId,
583
637
  });
638
+ if (connector.provisionMode === 'QUICK_CREATE') {
639
+ const quickCreateConnector = conn as AgentCorePaymentConnector & {
640
+ paymentConnectorStatus: string;
641
+ authorizationUrl: string;
642
+ };
643
+ new CfnOutput(this, \`Payment\${mgrId}\${connId}ConnectorStatus\`, {
644
+ value: quickCreateConnector.paymentConnectorStatus,
645
+ });
646
+ new CfnOutput(this, \`Payment\${mgrId}\${connId}AuthorizationUrl\`, {
647
+ value: quickCreateConnector.authorizationUrl,
648
+ });
649
+ }
584
650
  }
585
651
 
586
652
  // CFN Outputs for post-deploy state parsing
@@ -645,7 +711,7 @@ exports[`Assets Directory Snapshots > CDK assets > cdk/cdk/package.json should m
645
711
  "typescript": "~5.9.3"
646
712
  },
647
713
  "dependencies": {
648
- "@aws/agentcore-cdk": "0.1.0-alpha.45",
714
+ "@aws/agentcore-cdk": "0.1.0-alpha.50",
649
715
  "aws-cdk-lib": "~2.261.0",
650
716
  "constructs": "~10.7.0"
651
717
  }
@@ -141,7 +141,12 @@ async function main() {
141
141
  autoPayment?: boolean;
142
142
  paymentToolAllowlist?: string[];
143
143
  networkPreferences?: string[];
144
- connectors: { name: string; provider?: string; credentialName: string }[];
144
+ connectors: {
145
+ name: string;
146
+ provider?: string;
147
+ provisionMode?: 'MANUAL' | 'QUICK_CREATE';
148
+ credentialName?: string;
149
+ }[];
145
150
  }) => ({
146
151
  name: p.name,
147
152
  description: p.description,
@@ -151,6 +156,19 @@ async function main() {
151
156
  paymentToolAllowlist: p.paymentToolAllowlist,
152
157
  networkPreferences: p.networkPreferences,
153
158
  connectors: p.connectors.map(c => {
159
+ if (c.provisionMode === 'QUICK_CREATE') {
160
+ return {
161
+ name: c.name,
162
+ provider: 'CoinbaseCDP' as const,
163
+ provisionMode: 'QUICK_CREATE' as const,
164
+ };
165
+ }
166
+
167
+ if (!c.credentialName) {
168
+ throw new Error(
169
+ `Manual payment connector "${c.name}" on manager "${p.name}" is missing its credential name.`
170
+ );
171
+ }
154
172
  const credentialProviderArn = paymentCredentials?.[c.credentialName]?.credentialProviderArn;
155
173
  if (!credentialProviderArn) {
156
174
  // Fail fast with an actionable message rather than passing an empty
@@ -161,7 +179,13 @@ async function main() {
161
179
  `Run \`agentcore deploy\` so the credential provider is created first.`
162
180
  );
163
181
  }
164
- return { name: c.name, provider: c.provider, credentialProviderArn };
182
+ return {
183
+ name: c.name,
184
+ provider: c.provider,
185
+ ...(c.provisionMode && { provisionMode: c.provisionMode }),
186
+ credentialName: c.credentialName,
187
+ credentialProviderArn,
188
+ };
165
189
  }),
166
190
  })
167
191
  )
@@ -19,12 +19,24 @@ import { Construct } from 'constructs';
19
19
  */
20
20
  export type HarnessConfig = HarnessDeploymentConfig;
21
21
 
22
- export interface PaymentConnectorSpec {
22
+ export interface ManualPaymentConnectorSpec {
23
23
  name: string;
24
24
  provider: 'CoinbaseCDP' | 'StripePrivy';
25
+ provisionMode?: 'MANUAL';
26
+ credentialName: string;
25
27
  credentialProviderArn: string;
26
28
  }
27
29
 
30
+ export interface QuickCreatePaymentConnectorSpec {
31
+ name: string;
32
+ provider: 'CoinbaseCDP';
33
+ provisionMode: 'QUICK_CREATE';
34
+ credentialName?: never;
35
+ credentialProviderArn?: never;
36
+ }
37
+
38
+ export type PaymentConnectorSpec = ManualPaymentConnectorSpec | QuickCreatePaymentConnectorSpec;
39
+
28
40
  export interface PaymentSpec {
29
41
  name: string;
30
42
  description?: string;
@@ -203,13 +215,31 @@ export class AgentCoreStack extends Stack {
203
215
  // Create connectors for this manager
204
216
  for (const connector of payment.connectors) {
205
217
  const connId = toCdkId(connector.name);
206
- const conn = new AgentCorePaymentConnector(this, `Payment${mgrId}${connId}`, {
218
+ const schemaConnector =
219
+ connector.provisionMode === 'QUICK_CREATE'
220
+ ? connector
221
+ : {
222
+ name: connector.name,
223
+ provider: connector.provider,
224
+ ...(connector.provisionMode && { provisionMode: connector.provisionMode }),
225
+ credentialName: connector.credentialName,
226
+ };
227
+ const compatibilityProps = {
207
228
  projectName: spec.name,
208
229
  paymentManager: manager,
230
+ connector: schemaConnector,
231
+ // Remove these legacy manual fields after the new L3 release is pinned.
209
232
  connectorName: connector.name,
210
233
  connectorType: connector.provider,
211
- credentialProviderArn: connector.credentialProviderArn,
212
- });
234
+ ...(connector.provisionMode !== 'QUICK_CREATE' && {
235
+ credentialProviderArn: connector.credentialProviderArn,
236
+ }),
237
+ };
238
+ const conn = new AgentCorePaymentConnector(
239
+ this,
240
+ `Payment${mgrId}${connId}`,
241
+ compatibilityProps as unknown as ConstructorParameters<typeof AgentCorePaymentConnector>[2]
242
+ );
213
243
 
214
244
  // Wire first connector's ID as env var (eligible agents only)
215
245
  if (connector === payment.connectors[0]) {
@@ -222,6 +252,18 @@ export class AgentCoreStack extends Stack {
222
252
  new CfnOutput(this, `Payment${mgrId}${connId}ConnectorId`, {
223
253
  value: conn.paymentConnectorId,
224
254
  });
255
+ if (connector.provisionMode === 'QUICK_CREATE') {
256
+ const quickCreateConnector = conn as AgentCorePaymentConnector & {
257
+ paymentConnectorStatus: string;
258
+ authorizationUrl: string;
259
+ };
260
+ new CfnOutput(this, `Payment${mgrId}${connId}ConnectorStatus`, {
261
+ value: quickCreateConnector.paymentConnectorStatus,
262
+ });
263
+ new CfnOutput(this, `Payment${mgrId}${connId}AuthorizationUrl`, {
264
+ value: quickCreateConnector.authorizationUrl,
265
+ });
266
+ }
225
267
  }
226
268
 
227
269
  // CFN Outputs for post-deploy state parsing
@@ -23,7 +23,7 @@
23
23
  "typescript": "~5.9.3"
24
24
  },
25
25
  "dependencies": {
26
- "@aws/agentcore-cdk": "0.1.0-alpha.45",
26
+ "@aws/agentcore-cdk": "0.1.0-alpha.50",
27
27
  "aws-cdk-lib": "~2.261.0",
28
28
  "constructs": "~10.7.0"
29
29
  }