@forge/teamwork-graph 5.2.1-next.0-experimental-13c2f8d → 5.3.0-next.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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @forge/teamwork-graph
2
2
 
3
- ## 5.2.1-next.0-experimental-13c2f8d
3
+ ## 5.3.0-next.1
4
4
 
5
- ### Patch Changes
5
+ ### Minor Changes
6
6
 
7
- - @forge/api@8.1.1-next.0-experimental-13c2f8d
7
+ - 4138007: Export response types for Forge connector connection validation, including predefined administrator-fixable reason codes.
8
8
 
9
9
  ## 5.2.1-next.0
10
10
 
package/README.md CHANGED
@@ -446,6 +446,30 @@ import type {
446
446
  } from '@forge/teamwork-graph';
447
447
  ```
448
448
 
449
+ ### Connection Validation Response
450
+
451
+ Forge connectors can use the exported response type for their `validateConnection` function:
452
+
453
+ ```typescript
454
+ import { types } from '@forge/teamwork-graph';
455
+
456
+ const response: types.ValidateConnectionResponse = {
457
+ success: false,
458
+ reasonCode: types.CONNECTION_VALIDATION_REASON_CODES.INVALID_CREDENTIALS,
459
+ message: 'Connection validation failed'
460
+ };
461
+ ```
462
+
463
+ The supported administrator-fixable reason codes are:
464
+
465
+ - `INVALID_CREDENTIALS`
466
+ - `INSUFFICIENT_PERMISSIONS`
467
+ - `INVALID_CONFIGURATION`
468
+
469
+ Use `success: false` for deterministic authentication, permission, or configuration problems. Throw transient
470
+ provider, network, or rate-limit errors instead. The `reasonCode` field is optional, so existing
471
+ `{ success, message }` responses remain valid.
472
+
449
473
  ## Configuration
450
474
 
451
475
  The SDK automatically handles authentication and configuration through the Forge platform. No additional setup is required.
@@ -0,0 +1,15 @@
1
+ export declare const CONNECTION_VALIDATION_REASON_CODES: {
2
+ readonly INVALID_CREDENTIALS: "INVALID_CREDENTIALS";
3
+ readonly INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS";
4
+ readonly INVALID_CONFIGURATION: "INVALID_CONFIGURATION";
5
+ };
6
+ export type ConnectionValidationReasonCode = (typeof CONNECTION_VALIDATION_REASON_CODES)[keyof typeof CONNECTION_VALIDATION_REASON_CODES];
7
+ export type ValidateConnectionResponse = {
8
+ success: true;
9
+ message?: string;
10
+ } | {
11
+ success: false;
12
+ reasonCode?: ConnectionValidationReasonCode;
13
+ message?: string;
14
+ };
15
+ //# sourceMappingURL=connection-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-validation.d.ts","sourceRoot":"","sources":["../../src/types/connection-validation.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kCAAkC;;;;CAIrC,CAAC;AAEX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,OAAO,kCAAkC,CAAC,CAAC;AAU/F,MAAM,MAAM,0BAA0B,GAClC;IACE,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONNECTION_VALIDATION_REASON_CODES = void 0;
4
+ exports.CONNECTION_VALIDATION_REASON_CODES = {
5
+ INVALID_CREDENTIALS: 'INVALID_CREDENTIALS',
6
+ INSUFFICIENT_PERMISSIONS: 'INSUFFICIENT_PERMISSIONS',
7
+ INVALID_CONFIGURATION: 'INVALID_CONFIGURATION'
8
+ };
@@ -5,5 +5,6 @@ export * from './users';
5
5
  export * from './groups';
6
6
  export * from './relationships';
7
7
  export * from './orchestration';
8
+ export * from './connection-validation';
8
9
  export * from './graph';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,yBAAyB,CAAC;AAExC,cAAc,SAAS,CAAC"}
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./users"), exports);
8
8
  tslib_1.__exportStar(require("./groups"), exports);
9
9
  tslib_1.__exportStar(require("./relationships"), exports);
10
10
  tslib_1.__exportStar(require("./orchestration"), exports);
11
+ tslib_1.__exportStar(require("./connection-validation"), exports);
11
12
  tslib_1.__exportStar(require("./graph"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/teamwork-graph",
3
- "version": "5.2.1-next.0-experimental-13c2f8d",
3
+ "version": "5.3.0-next.1",
4
4
  "description": "Forge TeamworkGraph SDK",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -20,7 +20,7 @@
20
20
  "typescript": "5.9.2"
21
21
  },
22
22
  "dependencies": {
23
- "@forge/api": "^8.1.1-next.0-experimental-13c2f8d"
23
+ "@forge/api": "^8.1.1-next.0"
24
24
  },
25
25
  "publishConfig": {
26
26
  "registry": "https://packages.atlassian.com/api/npm/npm-public/"