@forge/manifest 11.0.0-next.0 → 11.0.0-next.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,66 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 11.0.0-next.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 0c433a0: Update manifest definitions
8
+
9
+ ## 11.0.0-next.9
10
+
11
+ ### Minor Changes
12
+
13
+ - 88238e7: updated regex for container tags validation
14
+
15
+ ## 11.0.0-next.8
16
+
17
+ ### Patch Changes
18
+
19
+ - 24bd686: Update manifest definitions
20
+ - 2011ffe: Update manifest definitions
21
+
22
+ ## 11.0.0-next.7
23
+
24
+ ### Minor Changes
25
+
26
+ - 0a3f5d5: Add support for rovo:agentConnector module to the supported module types.
27
+
28
+ ## 11.0.0-next.6
29
+
30
+ ### Patch Changes
31
+
32
+ - d00ef59: Update manifest definitions
33
+
34
+ ## 11.0.0-next.5
35
+
36
+ ### Patch Changes
37
+
38
+ - f0a5a03: Update manifest definitions
39
+
40
+ ## 11.0.0-next.4
41
+
42
+ ### Patch Changes
43
+
44
+ - 3228cf0: fetch product event scope mapping file from shipyard through daily job
45
+
46
+ ## 11.0.0-next.3
47
+
48
+ ### Patch Changes
49
+
50
+ - 78efec7: Update manifest definitions
51
+
52
+ ## 11.0.0-next.2
53
+
54
+ ### Major Changes
55
+
56
+ - 260eb24: Adding support for new module fifoConsumer
57
+
58
+ ## 11.0.0-next.1
59
+
60
+ ### Minor Changes
61
+
62
+ - 9a6d346: Add standalone trigger scope validation API (only event name and scopes required)
63
+
3
64
  ## 11.0.0-next.0
4
65
 
5
66
  ### Major Changes
package/README.md CHANGED
@@ -17,6 +17,28 @@ const results = ProcessorBuilder.instance()
17
17
  console.log(`Valid manifest ? ${results.success}`);
18
18
  ```
19
19
 
20
+ ## Simple Trigger Scopes Validation
21
+
22
+ For validating trigger event scopes, use the simple validation API that only requires the event name and scopes:
23
+
24
+ ```typescript
25
+ import { validateTriggerScopes } from '@forge/manifest';
26
+
27
+ // Simple: just pass event and scopes
28
+ const result = await validateTriggerScopes(
29
+ 'avi:jira:assigned:issue',
30
+ ['read:jira-work']
31
+ );
32
+
33
+ if (!result.valid) {
34
+ console.error(`Missing scopes: ${result.missingScopes.join(', ')}`);
35
+ }
36
+ ```
37
+
38
+ This is useful for:
39
+ - External tools that need to verify scope requirements
40
+ - Any service that validates event-scope mappings
41
+
20
42
  ## How to check the errors
21
43
 
22
44
  In case of an invalid `manifest.yml`, the following information will be populated:
@@ -1,4 +1,6 @@
1
1
  {
2
+ "_warning": "DO NOT EDIT: This file is auto-generated from Shipyard. See src/mapping/README.md",
3
+ "_source": "ari:cloud:platform-services::product-event-to-scope-mapping/v1/prod",
2
4
  "mapping": [
3
5
  {
4
6
  "productEvent": "avi:jira:assigned:issue",
@@ -1 +1 @@
1
- {"version":3,"file":"product-trigger-validation-processor.d.ts","sourceRoot":"","sources":["../../src/processor/product-trigger-validation-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,qBAAa,iCAAkC,SAAQ,2BAA2B,CAAC,cAAc,CAAC;;CASjG"}
1
+ {"version":3,"file":"product-trigger-validation-processor.d.ts","sourceRoot":"","sources":["../../src/processor/product-trigger-validation-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOpD,qBAAa,iCAAkC,SAAQ,2BAA2B,CAAC,cAAc,CAAC;;CASjG"}
@@ -668,7 +668,8 @@
668
668
  "maxLength": 100,
669
669
  "pattern": "^[-.:_a-zA-Z0-9]{1,93}:custom$"
670
670
  },
671
- "minItems": 1
671
+ "minItems": 1,
672
+ "maxItems": 20
672
673
  },
673
674
  "key": {
674
675
  "$ref": "#/definitions/ModuleKeySchema"
@@ -678,6 +679,7 @@
678
679
  "path",
679
680
  "operation",
680
681
  "function",
682
+ "scopes",
681
683
  "key"
682
684
  ],
683
685
  "not": {
@@ -896,6 +898,37 @@
896
898
  },
897
899
  "minItems": 1
898
900
  },
901
+ "fifoConsumer": {
902
+ "type": "array",
903
+ "items": {
904
+ "$schema": "http://json-schema.org/draft-07/schema#",
905
+ "type": "object",
906
+ "additionalProperties": false,
907
+ "properties": {
908
+ "queue": {
909
+ "$ref": "#/definitions/ConsumerQueue"
910
+ },
911
+ "function": {
912
+ "$ref": "#/definitions/ExtensionKey",
913
+ "description": "The key of the function that should be invoked when consuming events."
914
+ },
915
+ "key": {
916
+ "$ref": "#/definitions/ModuleKeySchema"
917
+ }
918
+ },
919
+ "required": [
920
+ "queue",
921
+ "function",
922
+ "key"
923
+ ],
924
+ "not": {
925
+ "required": [
926
+ "unlicensedAccess"
927
+ ]
928
+ }
929
+ },
930
+ "minItems": 1
931
+ },
899
932
  "function": {
900
933
  "type": "array",
901
934
  "items": {
@@ -2438,6 +2471,48 @@
2438
2471
  "resource"
2439
2472
  ]
2440
2473
  },
2474
+ "ai-context": {
2475
+ "type": "object",
2476
+ "properties": {
2477
+ "data": {
2478
+ "anyOf": [
2479
+ {
2480
+ "additionalProperties": false,
2481
+ "type": "object",
2482
+ "properties": {
2483
+ "function": {
2484
+ "type": "string",
2485
+ "minLength": 1,
2486
+ "maxLength": 255,
2487
+ "pattern": "^[a-zA-Z0-9-_]+$"
2488
+ }
2489
+ },
2490
+ "required": [
2491
+ "function"
2492
+ ]
2493
+ },
2494
+ {
2495
+ "additionalProperties": false,
2496
+ "type": "object",
2497
+ "properties": {
2498
+ "endpoint": {
2499
+ "type": "string",
2500
+ "minLength": 1,
2501
+ "maxLength": 255,
2502
+ "pattern": "^[a-zA-Z0-9-_]+$"
2503
+ }
2504
+ },
2505
+ "required": [
2506
+ "endpoint"
2507
+ ]
2508
+ }
2509
+ ]
2510
+ }
2511
+ },
2512
+ "required": [
2513
+ "data"
2514
+ ]
2515
+ },
2441
2516
  "resolver": {
2442
2517
  "anyOf": [
2443
2518
  {
@@ -2497,6 +2572,75 @@
2497
2572
  },
2498
2573
  "minItems": 1
2499
2574
  },
2575
+ "dashboards:backgroundScript": {
2576
+ "type": "array",
2577
+ "items": {
2578
+ "type": "object",
2579
+ "properties": {
2580
+ "resource": {
2581
+ "type": "string",
2582
+ "minLength": 1,
2583
+ "maxLength": 23,
2584
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2585
+ },
2586
+ "resolver": {
2587
+ "anyOf": [
2588
+ {
2589
+ "additionalProperties": false,
2590
+ "type": "object",
2591
+ "properties": {
2592
+ "function": {
2593
+ "type": "string",
2594
+ "minLength": 1,
2595
+ "maxLength": 255,
2596
+ "pattern": "^[a-zA-Z0-9-_]+$"
2597
+ }
2598
+ },
2599
+ "required": [
2600
+ "function"
2601
+ ]
2602
+ },
2603
+ {
2604
+ "additionalProperties": false,
2605
+ "type": "object",
2606
+ "properties": {
2607
+ "endpoint": {
2608
+ "type": "string",
2609
+ "minLength": 1,
2610
+ "maxLength": 255,
2611
+ "pattern": "^[a-zA-Z0-9-_]+$"
2612
+ }
2613
+ },
2614
+ "required": [
2615
+ "endpoint"
2616
+ ]
2617
+ }
2618
+ ]
2619
+ },
2620
+ "render": {
2621
+ "default": "default",
2622
+ "enum": [
2623
+ "default",
2624
+ "native"
2625
+ ],
2626
+ "type": "string"
2627
+ },
2628
+ "key": {
2629
+ "$ref": "#/definitions/ModuleKeySchema"
2630
+ }
2631
+ },
2632
+ "required": [
2633
+ "resource",
2634
+ "key"
2635
+ ],
2636
+ "not": {
2637
+ "required": [
2638
+ "unlicensedAccess"
2639
+ ]
2640
+ }
2641
+ },
2642
+ "minItems": 1
2643
+ },
2500
2644
  "confluence:contextMenu": {
2501
2645
  "type": "array",
2502
2646
  "items": {
@@ -6429,14 +6573,14 @@
6429
6573
  "expression"
6430
6574
  ]
6431
6575
  },
6432
- "displayConditions": {
6433
- "type": "object",
6434
- "properties": {}
6435
- },
6436
6576
  "migratedFromConnect": {
6437
6577
  "default": false,
6438
6578
  "type": "boolean"
6439
6579
  },
6580
+ "displayConditions": {
6581
+ "type": "object",
6582
+ "properties": {}
6583
+ },
6440
6584
  "key": {
6441
6585
  "$ref": "#/definitions/ModuleKeySchema"
6442
6586
  }
@@ -6871,6 +7015,10 @@
6871
7015
  "expression"
6872
7016
  ]
6873
7017
  },
7018
+ "migratedFromConnect": {
7019
+ "default": false,
7020
+ "type": "boolean"
7021
+ },
6874
7022
  "displayConditions": {
6875
7023
  "type": "object",
6876
7024
  "properties": {}
@@ -7264,6 +7412,10 @@
7264
7412
  "expression"
7265
7413
  ]
7266
7414
  },
7415
+ "migratedFromConnect": {
7416
+ "default": false,
7417
+ "type": "boolean"
7418
+ },
7267
7419
  "displayConditions": {
7268
7420
  "type": "object",
7269
7421
  "properties": {}
@@ -27275,6 +27427,84 @@
27275
27427
  },
27276
27428
  "minItems": 1
27277
27429
  },
27430
+ "rovo:agentConnector": {
27431
+ "type": "array",
27432
+ "items": {
27433
+ "type": "object",
27434
+ "additionalProperties": false,
27435
+ "required": [
27436
+ "name",
27437
+ "description",
27438
+ "protocols",
27439
+ "key"
27440
+ ],
27441
+ "properties": {
27442
+ "icon": {
27443
+ "type": "string",
27444
+ "minLength": 1,
27445
+ "maxLength": 255
27446
+ },
27447
+ "name": {
27448
+ "type": "string",
27449
+ "minLength": 1,
27450
+ "maxLength": 30
27451
+ },
27452
+ "description": {
27453
+ "minLength": 1,
27454
+ "maxLength": 255,
27455
+ "type": "string"
27456
+ },
27457
+ "conversationStarters": {
27458
+ "description": "A list of conversation starters that the agent can use to start a conversation with the user.",
27459
+ "type": "array",
27460
+ "minItems": 1,
27461
+ "uniqueItems": true,
27462
+ "items": {
27463
+ "type": "string",
27464
+ "minLength": 1,
27465
+ "maxLength": 85
27466
+ }
27467
+ },
27468
+ "protocols": {
27469
+ "description": "Defines how your agent communicates with other agents and systems. It specifies the protocols and transport mechanisms available for interactions with your remote agent.",
27470
+ "type": "object",
27471
+ "additionalProperties": false,
27472
+ "required": [
27473
+ "agent2Agent"
27474
+ ],
27475
+ "properties": {
27476
+ "agent2Agent": {
27477
+ "type": "object",
27478
+ "additionalProperties": false,
27479
+ "required": [
27480
+ "agentCard",
27481
+ "jsonRpcTransport"
27482
+ ],
27483
+ "properties": {
27484
+ "agentCard": {
27485
+ "$ref": "#/definitions/protocolEndpoint",
27486
+ "description": "Returns metadata about the agent, including its capabilities and supported actions."
27487
+ },
27488
+ "jsonRpcTransport": {
27489
+ "$ref": "#/definitions/protocolEndpoint",
27490
+ "description": "Enables Agent2Agent protocol over JSON-RPC 2.0 transport."
27491
+ }
27492
+ }
27493
+ }
27494
+ }
27495
+ },
27496
+ "key": {
27497
+ "$ref": "#/definitions/ModuleKeySchema"
27498
+ }
27499
+ },
27500
+ "not": {
27501
+ "required": [
27502
+ "unlicensedAccess"
27503
+ ]
27504
+ }
27505
+ },
27506
+ "minItems": 1
27507
+ },
27278
27508
  "graph:smartLink": {
27279
27509
  "type": "array",
27280
27510
  "items": {
@@ -28682,9 +28912,9 @@
28682
28912
  },
28683
28913
  "tag": {
28684
28914
  "type": "string",
28685
- "maxLength": 128,
28915
+ "maxLength": 127,
28686
28916
  "minLength": 1,
28687
- "pattern": "^[\\w][\\w.-]{0,127}$"
28917
+ "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9-_.]{0,125}[a-zA-Z0-9])?$"
28688
28918
  },
28689
28919
  "health": {
28690
28920
  "$ref": "#/definitions/ContainerHealthSchema",
@@ -29350,7 +29580,7 @@
29350
29580
  "ConsumerQueue": {
29351
29581
  "type": "string",
29352
29582
  "minLength": 1,
29353
- "maxLength": 255,
29583
+ "maxLength": 36,
29354
29584
  "pattern": "^[a-zA-Z0-9-_]+$",
29355
29585
  "description": "The name of the queue that this consumer listens to.",
29356
29586
  "title": "queue"
@@ -31589,6 +31819,24 @@
31589
31819
  "title": "Body",
31590
31820
  "description": "\n\n<p>\n Defines styles to be applied on the body of content view.\n </p>\n <p>\n The supported properties include <i>background</i> shorthand property and all CSS background element properties.\n The keys are the camelCased versions of corresponding CSS properties, like <i>backgroundImage</i>,\n <i>backgroundColor</i>, <i>backgroundSize</i>, <i>backgroundPosition</i>, <i>backgroundRepeat</i>,\n <i>backgroundClip</i>, <i>backgroundOrigin</i>, <i>backgroundAttachment</i>, and <i>backgroundBlendMode</i>.\n </p>\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"padding\": \"10px\",\n \"borderRadius\": \"0 0 5px 5px\",\n \"background\": \"#FFFFFF\"\n }\n\n\n"
31591
31821
  },
31822
+ "protocolEndpoint": {
31823
+ "type": "object",
31824
+ "additionalProperties": false,
31825
+ "description": "A protocol endpoint that can be invoked to perform a task.",
31826
+ "properties": {
31827
+ "endpoint": {
31828
+ "type": "string",
31829
+ "title": "endpoint",
31830
+ "description": "The key of the endpoint that should be invoked.",
31831
+ "maxLength": 255,
31832
+ "minLength": 1,
31833
+ "pattern": "^[a-zA-Z0-9-._]+$"
31834
+ }
31835
+ },
31836
+ "required": [
31837
+ "endpoint"
31838
+ ]
31839
+ },
31592
31840
  "ExternalAuthProvider": {
31593
31841
  "type": "string",
31594
31842
  "description": "A key referencing authentication provider. This will be utilised to authenticate end-users and match with external users.",