@orchestraworks/cli 0.5.2 → 0.5.4

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 (128) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/api/compute-provider-check.d.ts +29 -0
  3. package/dist/cli/api/compute-provider-check.js +207 -0
  4. package/dist/cli/api/tail.d.ts +66 -0
  5. package/dist/cli/api/tail.js +564 -0
  6. package/dist/cli/main.d.ts +5 -1
  7. package/dist/cli/main.js +22 -0
  8. package/dist/constructs/agent.d.ts +10 -0
  9. package/dist/constructs/agent.js +39 -4
  10. package/dist/constructs/environment.d.ts +29 -1
  11. package/dist/constructs/environment.js +28 -1
  12. package/dist/constructs/skill.d.ts +6 -1
  13. package/dist/constructs/skill.js +21 -2
  14. package/dist/engine/reconcile.js +15 -1
  15. package/dist/generated/cli-commands.json +1646 -198
  16. package/dist/generated/cli-dispatch.js +9 -0
  17. package/dist/generated/managed-skills.d.ts +2 -0
  18. package/dist/generated/managed-skills.js +18 -0
  19. package/dist/index.d.ts +1 -1
  20. package/docs/REFERENCE.md +21 -1
  21. package/node_modules/@orchestraworks/client/dist/apis/OrganizationInvitationsApi.d.ts +29 -0
  22. package/node_modules/@orchestraworks/client/dist/apis/OrganizationInvitationsApi.js +96 -0
  23. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationInvitationsApi.d.ts +29 -0
  24. package/node_modules/@orchestraworks/client/dist/esm/apis/OrganizationInvitationsApi.js +96 -0
  25. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProvider.d.ts +3 -3
  26. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.d.ts +13 -0
  27. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.js +5 -0
  28. package/node_modules/@orchestraworks/client/dist/esm/models/CreateOrganizationInvitationRequest.d.ts +2 -2
  29. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.d.ts +13 -0
  30. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.js +5 -0
  31. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHook.d.ts +38 -0
  32. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHook.js +45 -0
  33. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooks.d.ts +39 -0
  34. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooks.js +44 -0
  35. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooksRequest.d.ts +39 -0
  36. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooksRequest.js +44 -0
  37. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentProvisionSpec.d.ts +2 -1
  38. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentProvisionSpecRequest.d.ts +2 -1
  39. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentSnapshot.d.ts +19 -0
  40. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentSnapshot.js +7 -0
  41. package/node_modules/@orchestraworks/client/dist/esm/models/Machine.d.ts +7 -1
  42. package/node_modules/@orchestraworks/client/dist/esm/models/Machine.js +2 -0
  43. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationAuthPolicy.d.ts +1 -1
  44. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.d.ts +14 -1
  45. package/node_modules/@orchestraworks/client/dist/esm/models/OrganizationInvitation.js +8 -1
  46. package/node_modules/@orchestraworks/client/dist/esm/models/Principal.d.ts +6 -0
  47. package/node_modules/@orchestraworks/client/dist/esm/models/Principal.js +2 -0
  48. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateEnvironmentRequest.d.ts +13 -0
  49. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateEnvironmentRequest.js +5 -0
  50. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.d.ts +2 -1
  51. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateOrganizationInvitationRequest.js +2 -1
  52. package/node_modules/@orchestraworks/client/dist/esm/models/User.d.ts +6 -0
  53. package/node_modules/@orchestraworks/client/dist/esm/models/User.js +4 -0
  54. package/node_modules/@orchestraworks/client/dist/esm/models/index.d.ts +3 -0
  55. package/node_modules/@orchestraworks/client/dist/esm/models/index.js +3 -0
  56. package/node_modules/@orchestraworks/client/dist/models/ComputeProvider.d.ts +3 -3
  57. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.d.ts +13 -0
  58. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.js +5 -0
  59. package/node_modules/@orchestraworks/client/dist/models/CreateOrganizationInvitationRequest.d.ts +2 -2
  60. package/node_modules/@orchestraworks/client/dist/models/Environment.d.ts +13 -0
  61. package/node_modules/@orchestraworks/client/dist/models/Environment.js +5 -0
  62. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHook.d.ts +38 -0
  63. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHook.js +52 -0
  64. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooks.d.ts +39 -0
  65. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooks.js +51 -0
  66. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooksRequest.d.ts +39 -0
  67. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooksRequest.js +51 -0
  68. package/node_modules/@orchestraworks/client/dist/models/EnvironmentProvisionSpec.d.ts +2 -1
  69. package/node_modules/@orchestraworks/client/dist/models/EnvironmentProvisionSpecRequest.d.ts +2 -1
  70. package/node_modules/@orchestraworks/client/dist/models/EnvironmentSnapshot.d.ts +19 -0
  71. package/node_modules/@orchestraworks/client/dist/models/EnvironmentSnapshot.js +7 -0
  72. package/node_modules/@orchestraworks/client/dist/models/Machine.d.ts +7 -1
  73. package/node_modules/@orchestraworks/client/dist/models/Machine.js +2 -0
  74. package/node_modules/@orchestraworks/client/dist/models/OrganizationAuthPolicy.d.ts +1 -1
  75. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.d.ts +14 -1
  76. package/node_modules/@orchestraworks/client/dist/models/OrganizationInvitation.js +8 -1
  77. package/node_modules/@orchestraworks/client/dist/models/Principal.d.ts +6 -0
  78. package/node_modules/@orchestraworks/client/dist/models/Principal.js +2 -0
  79. package/node_modules/@orchestraworks/client/dist/models/UpdateEnvironmentRequest.d.ts +13 -0
  80. package/node_modules/@orchestraworks/client/dist/models/UpdateEnvironmentRequest.js +5 -0
  81. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.d.ts +2 -1
  82. package/node_modules/@orchestraworks/client/dist/models/UpdateOrganizationInvitationRequest.js +2 -1
  83. package/node_modules/@orchestraworks/client/dist/models/User.d.ts +6 -0
  84. package/node_modules/@orchestraworks/client/dist/models/User.js +4 -0
  85. package/node_modules/@orchestraworks/client/dist/models/index.d.ts +3 -0
  86. package/node_modules/@orchestraworks/client/dist/models/index.js +3 -0
  87. package/node_modules/@orchestraworks/client/package.json +1 -1
  88. package/package.json +4 -4
  89. package/skills/orchestra/SKILL.md +167 -42
  90. package/skills/orchestra-fdk/SKILL.md +112 -545
  91. package/skills/orchestra-fdk/references/authoring.md +29 -2
  92. package/skills/orchestra-fdk/references/environment.md +295 -41
  93. package/skills/orchestra-fdk/references/integrations/analytics.md +18 -0
  94. package/skills/orchestra-fdk/references/integrations/ci-cd.md +20 -0
  95. package/skills/orchestra-fdk/references/integrations/cloud.md +19 -0
  96. package/skills/orchestra-fdk/references/integrations/code-repo.md +76 -0
  97. package/skills/orchestra-fdk/references/integrations/databases.md +22 -0
  98. package/skills/orchestra-fdk/references/integrations/dependencies.md +29 -0
  99. package/skills/orchestra-fdk/references/integrations/design.md +18 -0
  100. package/skills/orchestra-fdk/references/integrations/feature-flags.md +19 -0
  101. package/skills/orchestra-fdk/references/integrations/incident.md +29 -0
  102. package/skills/orchestra-fdk/references/integrations/issue-tracker.md +65 -0
  103. package/skills/orchestra-fdk/references/integrations/knowledge-base.md +43 -0
  104. package/skills/orchestra-fdk/references/integrations/messaging.md +38 -0
  105. package/skills/orchestra-fdk/references/integrations/observability.md +36 -0
  106. package/skills/orchestra-fdk/references/integrations/secrets-managers.md +25 -0
  107. package/skills/orchestra-fdk/references/integrations/support-desk.md +31 -0
  108. package/skills/orchestra-fdk/references/phases/0-start.md +62 -0
  109. package/skills/orchestra-fdk/references/phases/1-discover.md +111 -0
  110. package/skills/orchestra-fdk/references/phases/2-plan.md +157 -0
  111. package/skills/orchestra-fdk/references/phases/3-connect.md +99 -0
  112. package/skills/orchestra-fdk/references/phases/4-build.md +159 -0
  113. package/skills/orchestra-fdk/references/phases/5-prove.md +107 -0
  114. package/skills/orchestra-fdk/references/phases/6-handover.md +42 -0
  115. package/skills/orchestra-fdk/references/troubleshooting.md +128 -0
  116. package/templates/bug-fix/agents/bugfix.md +1 -1
  117. package/templates/bug-fix/main.ts +1 -1
  118. package/templates/engineering-team/README.md +45 -181
  119. package/templates/engineering-team/agents/engineer-agent.md +10 -7
  120. package/templates/engineering-team/agents/manager-agent.md +23 -120
  121. package/templates/engineering-team/inputs.json +1 -3
  122. package/templates/engineering-team/lib/environment.ts +10 -90
  123. package/templates/engineering-team/lib/inputs.ts +5 -97
  124. package/templates/engineering-team/main.ts +22 -69
  125. package/templates/todo-factory/agents/bugfix.md +1 -1
  126. package/templates/todo-factory/main.ts +1 -1
  127. package/templates/engineering-team/agents/engineer-bare.md +0 -22
  128. package/templates/engineering-team/onboarding/create-score-metrics.sh +0 -33
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { EnvironmentIngressPolicy } from './EnvironmentIngressPolicy';
13
+ import type { EnvironmentHooks } from './EnvironmentHooks';
13
14
  import type { EnvironmentPlatformRequest } from './EnvironmentPlatformRequest';
14
15
  import type { EnvironmentEgressPolicy } from './EnvironmentEgressPolicy';
15
16
  import type { EnvironmentProvisionSpecRequest } from './EnvironmentProvisionSpecRequest';
@@ -67,6 +68,18 @@ export interface CreateEnvironmentRequest {
67
68
  * @memberof CreateEnvironmentRequest
68
69
  */
69
70
  projectId?: string;
71
+ /**
72
+ * The absolute folder every conversation's agent starts in, on every kind: a path starting with / on linux and macos, and a drive or UNC path on windows, at most 1024 characters. A machine keeps the value it was created with. The worker creates the folder when it is missing, owned by the account the agent runs as, and an agent placement whose folder cannot be created or entered fails. Absent, the agent starts in the worker's own folder for its harness. An empty value declares none.
73
+ * @type {string}
74
+ * @memberof CreateEnvironmentRequest
75
+ */
76
+ workingDirectory?: string;
77
+ /**
78
+ * Scripts the worker runs at points of a machine's and an agent's life. onStartMachine and onStartAgent are built; onStartSession, onStopSession, onStopAgent and onStopMachine are reserved.
79
+ * @type {EnvironmentHooks}
80
+ * @memberof CreateEnvironmentRequest
81
+ */
82
+ hooks?: EnvironmentHooks;
70
83
  /**
71
84
  * Labels: the customer's key-to-value tags; the platform reads no key
72
85
  * @type {{ [key: string]: string; }}
@@ -20,6 +20,7 @@ exports.CreateEnvironmentRequestFromJSONTyped = CreateEnvironmentRequestFromJSON
20
20
  exports.CreateEnvironmentRequestToJSON = CreateEnvironmentRequestToJSON;
21
21
  exports.CreateEnvironmentRequestToJSONTyped = CreateEnvironmentRequestToJSONTyped;
22
22
  const EnvironmentIngressPolicy_1 = require("./EnvironmentIngressPolicy");
23
+ const EnvironmentHooks_1 = require("./EnvironmentHooks");
23
24
  const EnvironmentPlatformRequest_1 = require("./EnvironmentPlatformRequest");
24
25
  const EnvironmentEgressPolicy_1 = require("./EnvironmentEgressPolicy");
25
26
  const EnvironmentProvisionSpecRequest_1 = require("./EnvironmentProvisionSpecRequest");
@@ -54,6 +55,8 @@ function CreateEnvironmentRequestFromJSONTyped(json, ignoreDiscriminator) {
54
55
  'kind': json['kind'] == null ? undefined : json['kind'],
55
56
  'provisionSpec': json['provisionSpec'] == null ? undefined : (0, EnvironmentProvisionSpecRequest_1.EnvironmentProvisionSpecRequestFromJSON)(json['provisionSpec']),
56
57
  'projectId': json['projectId'] == null ? undefined : json['projectId'],
58
+ 'workingDirectory': json['workingDirectory'] == null ? undefined : json['workingDirectory'],
59
+ 'hooks': json['hooks'] == null ? undefined : (0, EnvironmentHooks_1.EnvironmentHooksFromJSON)(json['hooks']),
57
60
  'labels': json['labels'] == null ? undefined : json['labels'],
58
61
  };
59
62
  }
@@ -73,6 +76,8 @@ function CreateEnvironmentRequestToJSONTyped(value, ignoreDiscriminator = false)
73
76
  'kind': value['kind'],
74
77
  'provisionSpec': (0, EnvironmentProvisionSpecRequest_1.EnvironmentProvisionSpecRequestToJSON)(value['provisionSpec']),
75
78
  'projectId': value['projectId'],
79
+ 'workingDirectory': value['workingDirectory'],
80
+ 'hooks': (0, EnvironmentHooks_1.EnvironmentHooksToJSON)(value['hooks']),
76
81
  'labels': value['labels'],
77
82
  };
78
83
  }
@@ -29,13 +29,13 @@ export interface CreateOrganizationInvitationRequest {
29
29
  */
30
30
  email: string;
31
31
  /**
32
- * IAM role assignments to grant on the membership minted at acceptance, each with its optional project scope — the sole role grant surface (max 16)
32
+ * IAM role assignments to grant on the membership minted at acceptance, each with its optional project scope — the sole role grant surface (max 16). Empty grants the managed `factory-developer` role.
33
33
  * @type {Array<RoleAssignment>}
34
34
  * @memberof CreateOrganizationInvitationRequest
35
35
  */
36
36
  roleAssignments?: Array<RoleAssignment>;
37
37
  /**
38
- * Invitation expiration timestamp
38
+ * Invitation expiration timestamp, 1 to 30 days ahead. Defaults to 7 days ahead.
39
39
  * @type {Date}
40
40
  * @memberof CreateOrganizationInvitationRequest
41
41
  */
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { EnvironmentIngressPolicy } from './EnvironmentIngressPolicy';
13
13
  import type { EnvironmentPlatformWithRuntime } from './EnvironmentPlatformWithRuntime';
14
+ import type { EnvironmentHooks } from './EnvironmentHooks';
14
15
  import type { EnvironmentEgressPolicy } from './EnvironmentEgressPolicy';
15
16
  import type { EnvironmentProvisionSpec } from './EnvironmentProvisionSpec';
16
17
  /**
@@ -79,6 +80,18 @@ export interface Environment {
79
80
  * @memberof Environment
80
81
  */
81
82
  provisionSpec?: EnvironmentProvisionSpec;
83
+ /**
84
+ * The absolute folder every conversation's agent starts in, on every kind: a path starting with / on linux and macos, and a drive or UNC path on windows, at most 1024 characters. A machine keeps the value it was created with. The worker creates the folder when it is missing, owned by the account the agent runs as, and an agent placement whose folder cannot be created or entered fails. Absent, the agent starts in the worker's own folder for its harness.
85
+ * @type {string}
86
+ * @memberof Environment
87
+ */
88
+ workingDirectory?: string;
89
+ /**
90
+ * Scripts the worker runs at points of a machine's and an agent's life. onStartMachine and onStartAgent are built; onStartSession, onStopSession, onStopAgent and onStopMachine are reserved.
91
+ * @type {EnvironmentHooks}
92
+ * @memberof Environment
93
+ */
94
+ hooks?: EnvironmentHooks;
82
95
  /**
83
96
  * Creation timestamp
84
97
  * @type {Date}
@@ -21,6 +21,7 @@ exports.EnvironmentToJSON = EnvironmentToJSON;
21
21
  exports.EnvironmentToJSONTyped = EnvironmentToJSONTyped;
22
22
  const EnvironmentIngressPolicy_1 = require("./EnvironmentIngressPolicy");
23
23
  const EnvironmentPlatformWithRuntime_1 = require("./EnvironmentPlatformWithRuntime");
24
+ const EnvironmentHooks_1 = require("./EnvironmentHooks");
24
25
  const EnvironmentEgressPolicy_1 = require("./EnvironmentEgressPolicy");
25
26
  const EnvironmentProvisionSpec_1 = require("./EnvironmentProvisionSpec");
26
27
  /**
@@ -74,6 +75,8 @@ function EnvironmentFromJSONTyped(json, ignoreDiscriminator) {
74
75
  'ingressPolicy': json['ingressPolicy'] == null ? undefined : (0, EnvironmentIngressPolicy_1.EnvironmentIngressPolicyFromJSON)(json['ingressPolicy']),
75
76
  'kind': json['kind'],
76
77
  'provisionSpec': json['provisionSpec'] == null ? undefined : (0, EnvironmentProvisionSpec_1.EnvironmentProvisionSpecFromJSON)(json['provisionSpec']),
78
+ 'workingDirectory': json['workingDirectory'] == null ? undefined : json['workingDirectory'],
79
+ 'hooks': json['hooks'] == null ? undefined : (0, EnvironmentHooks_1.EnvironmentHooksFromJSON)(json['hooks']),
77
80
  'createdAt': (new Date(json['createdAt'])),
78
81
  'updatedAt': (new Date(json['updatedAt'])),
79
82
  'labels': json['labels'],
@@ -96,6 +99,8 @@ function EnvironmentToJSONTyped(value, ignoreDiscriminator = false) {
96
99
  'egressPolicy': (0, EnvironmentEgressPolicy_1.EnvironmentEgressPolicyToJSON)(value['egressPolicy']),
97
100
  'ingressPolicy': (0, EnvironmentIngressPolicy_1.EnvironmentIngressPolicyToJSON)(value['ingressPolicy']),
98
101
  'provisionSpec': (0, EnvironmentProvisionSpec_1.EnvironmentProvisionSpecToJSON)(value['provisionSpec']),
102
+ 'workingDirectory': value['workingDirectory'],
103
+ 'hooks': (0, EnvironmentHooks_1.EnvironmentHooksToJSON)(value['hooks']),
99
104
  'createdAt': value['createdAt'].toISOString(),
100
105
  'updatedAt': value['updatedAt'].toISOString(),
101
106
  'labels': value['labels'],
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Orchestra platform API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface EnvironmentHook
16
+ */
17
+ export interface EnvironmentHook {
18
+ /**
19
+ * The script's text. Required, at most 64 KiB.
20
+ * @type {string}
21
+ * @memberof EnvironmentHook
22
+ */
23
+ script: string;
24
+ /**
25
+ * How long the script may run, in whole seconds. onStartAgent takes 1 to 240, and absent means 120. onStartMachine takes 1 to 3600, and absent means the deployment's bound, 600 unless it sets another. At the bound the worker kills the script and every process it started.
26
+ * @type {number}
27
+ * @memberof EnvironmentHook
28
+ */
29
+ timeoutSeconds?: number;
30
+ }
31
+ /**
32
+ * Check if a given object implements the EnvironmentHook interface.
33
+ */
34
+ export declare function instanceOfEnvironmentHook(value: object): value is EnvironmentHook;
35
+ export declare function EnvironmentHookFromJSON(json: any): EnvironmentHook;
36
+ export declare function EnvironmentHookFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnvironmentHook;
37
+ export declare function EnvironmentHookToJSON(json: any): EnvironmentHook;
38
+ export declare function EnvironmentHookToJSONTyped(value?: EnvironmentHook | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Orchestra platform API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: 0.1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfEnvironmentHook = instanceOfEnvironmentHook;
17
+ exports.EnvironmentHookFromJSON = EnvironmentHookFromJSON;
18
+ exports.EnvironmentHookFromJSONTyped = EnvironmentHookFromJSONTyped;
19
+ exports.EnvironmentHookToJSON = EnvironmentHookToJSON;
20
+ exports.EnvironmentHookToJSONTyped = EnvironmentHookToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the EnvironmentHook interface.
23
+ */
24
+ function instanceOfEnvironmentHook(value) {
25
+ if (!('script' in value) || value['script'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ function EnvironmentHookFromJSON(json) {
30
+ return EnvironmentHookFromJSONTyped(json, false);
31
+ }
32
+ function EnvironmentHookFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'script': json['script'],
38
+ 'timeoutSeconds': json['timeoutSeconds'] == null ? undefined : json['timeoutSeconds'],
39
+ };
40
+ }
41
+ function EnvironmentHookToJSON(json) {
42
+ return EnvironmentHookToJSONTyped(json, false);
43
+ }
44
+ function EnvironmentHookToJSONTyped(value, ignoreDiscriminator = false) {
45
+ if (value == null) {
46
+ return value;
47
+ }
48
+ return {
49
+ 'script': value['script'],
50
+ 'timeoutSeconds': value['timeoutSeconds'],
51
+ };
52
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Orchestra platform API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { EnvironmentHook } from './EnvironmentHook';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface EnvironmentHooks
17
+ */
18
+ export interface EnvironmentHooks {
19
+ /**
20
+ * A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. Provisioned environments only. A machine keeps the value it was created with. provisionSpec.setup is the same script under its older name.
21
+ * @type {EnvironmentHook}
22
+ * @memberof EnvironmentHooks
23
+ */
24
+ onStartMachine?: EnvironmentHook;
25
+ /**
26
+ * A script the worker runs once for each agent placement, after the agent's content is installed and before its first conversation starts: as the account the agent runs as, in workingDirectory, with the agent's environment and the egress edge's authority, so a rule binding a credential applies to it. bash -e on linux and macos, PowerShell on windows. A script that fails or runs past its bound fails the placement with on_start_agent_failed. A machine keeps the value it was created with.
27
+ * @type {EnvironmentHook}
28
+ * @memberof EnvironmentHooks
29
+ */
30
+ onStartAgent?: EnvironmentHook;
31
+ }
32
+ /**
33
+ * Check if a given object implements the EnvironmentHooks interface.
34
+ */
35
+ export declare function instanceOfEnvironmentHooks(value: object): value is EnvironmentHooks;
36
+ export declare function EnvironmentHooksFromJSON(json: any): EnvironmentHooks;
37
+ export declare function EnvironmentHooksFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnvironmentHooks;
38
+ export declare function EnvironmentHooksToJSON(json: any): EnvironmentHooks;
39
+ export declare function EnvironmentHooksToJSONTyped(value?: EnvironmentHooks | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Orchestra platform API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: 0.1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfEnvironmentHooks = instanceOfEnvironmentHooks;
17
+ exports.EnvironmentHooksFromJSON = EnvironmentHooksFromJSON;
18
+ exports.EnvironmentHooksFromJSONTyped = EnvironmentHooksFromJSONTyped;
19
+ exports.EnvironmentHooksToJSON = EnvironmentHooksToJSON;
20
+ exports.EnvironmentHooksToJSONTyped = EnvironmentHooksToJSONTyped;
21
+ const EnvironmentHook_1 = require("./EnvironmentHook");
22
+ /**
23
+ * Check if a given object implements the EnvironmentHooks interface.
24
+ */
25
+ function instanceOfEnvironmentHooks(value) {
26
+ return true;
27
+ }
28
+ function EnvironmentHooksFromJSON(json) {
29
+ return EnvironmentHooksFromJSONTyped(json, false);
30
+ }
31
+ function EnvironmentHooksFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'onStartMachine': json['onStartMachine'] == null ? undefined : (0, EnvironmentHook_1.EnvironmentHookFromJSON)(json['onStartMachine']),
37
+ 'onStartAgent': json['onStartAgent'] == null ? undefined : (0, EnvironmentHook_1.EnvironmentHookFromJSON)(json['onStartAgent']),
38
+ };
39
+ }
40
+ function EnvironmentHooksToJSON(json) {
41
+ return EnvironmentHooksToJSONTyped(json, false);
42
+ }
43
+ function EnvironmentHooksToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'onStartMachine': (0, EnvironmentHook_1.EnvironmentHookToJSON)(value['onStartMachine']),
49
+ 'onStartAgent': (0, EnvironmentHook_1.EnvironmentHookToJSON)(value['onStartAgent']),
50
+ };
51
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Orchestra platform API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { EnvironmentHook } from './EnvironmentHook';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface EnvironmentHooksRequest
17
+ */
18
+ export interface EnvironmentHooksRequest {
19
+ /**
20
+ * A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. Provisioned environments only. A machine keeps the value it was created with. provisionSpec.setup is the same script under its older name. On an update, absent leaves the stored hook and null removes it.
21
+ * @type {EnvironmentHook}
22
+ * @memberof EnvironmentHooksRequest
23
+ */
24
+ onStartMachine?: EnvironmentHook | null;
25
+ /**
26
+ * A script the worker runs once for each agent placement, after the agent's content is installed and before its first conversation starts: as the account the agent runs as, in workingDirectory, with the agent's environment and the egress edge's authority, so a rule binding a credential applies to it. bash -e on linux and macos, PowerShell on windows. A script that fails or runs past its bound fails the placement with on_start_agent_failed. A machine keeps the value it was created with. On an update, absent leaves the stored hook and null removes it.
27
+ * @type {EnvironmentHook}
28
+ * @memberof EnvironmentHooksRequest
29
+ */
30
+ onStartAgent?: EnvironmentHook | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the EnvironmentHooksRequest interface.
34
+ */
35
+ export declare function instanceOfEnvironmentHooksRequest(value: object): value is EnvironmentHooksRequest;
36
+ export declare function EnvironmentHooksRequestFromJSON(json: any): EnvironmentHooksRequest;
37
+ export declare function EnvironmentHooksRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnvironmentHooksRequest;
38
+ export declare function EnvironmentHooksRequestToJSON(json: any): EnvironmentHooksRequest;
39
+ export declare function EnvironmentHooksRequestToJSONTyped(value?: EnvironmentHooksRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Orchestra platform API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: 0.1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfEnvironmentHooksRequest = instanceOfEnvironmentHooksRequest;
17
+ exports.EnvironmentHooksRequestFromJSON = EnvironmentHooksRequestFromJSON;
18
+ exports.EnvironmentHooksRequestFromJSONTyped = EnvironmentHooksRequestFromJSONTyped;
19
+ exports.EnvironmentHooksRequestToJSON = EnvironmentHooksRequestToJSON;
20
+ exports.EnvironmentHooksRequestToJSONTyped = EnvironmentHooksRequestToJSONTyped;
21
+ const EnvironmentHook_1 = require("./EnvironmentHook");
22
+ /**
23
+ * Check if a given object implements the EnvironmentHooksRequest interface.
24
+ */
25
+ function instanceOfEnvironmentHooksRequest(value) {
26
+ return true;
27
+ }
28
+ function EnvironmentHooksRequestFromJSON(json) {
29
+ return EnvironmentHooksRequestFromJSONTyped(json, false);
30
+ }
31
+ function EnvironmentHooksRequestFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'onStartMachine': json['onStartMachine'] == null ? undefined : (0, EnvironmentHook_1.EnvironmentHookFromJSON)(json['onStartMachine']),
37
+ 'onStartAgent': json['onStartAgent'] == null ? undefined : (0, EnvironmentHook_1.EnvironmentHookFromJSON)(json['onStartAgent']),
38
+ };
39
+ }
40
+ function EnvironmentHooksRequestToJSON(json) {
41
+ return EnvironmentHooksRequestToJSONTyped(json, false);
42
+ }
43
+ function EnvironmentHooksRequestToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'onStartMachine': (0, EnvironmentHook_1.EnvironmentHookToJSON)(value['onStartMachine']),
49
+ 'onStartAgent': (0, EnvironmentHook_1.EnvironmentHookToJSON)(value['onStartAgent']),
50
+ };
51
+ }
@@ -56,9 +56,10 @@ export interface EnvironmentProvisionSpec {
56
56
  */
57
57
  command?: Array<string>;
58
58
  /**
59
- * A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. At most 64 KiB.
59
+ * Deprecated: use hooks.onStartMachine. A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. At most 64 KiB. A request may send it beside hooks.onStartMachine only when the two scripts are the same, and a read carries both.
60
60
  * @type {string}
61
61
  * @memberof EnvironmentProvisionSpec
62
+ * @deprecated
62
63
  */
63
64
  setup?: string;
64
65
  /**
@@ -48,9 +48,10 @@ export interface EnvironmentProvisionSpecRequest {
48
48
  */
49
49
  command?: Array<string>;
50
50
  /**
51
- * A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. At most 64 KiB. On an update, absent leaves the stored value and an empty one clears it.
51
+ * Deprecated: use hooks.onStartMachine. A script run once as root on each new machine before it registers: bash on Linux, PowerShell on Windows. At most 64 KiB. A request may send it beside hooks.onStartMachine only when the two scripts are the same, and a read carries both. On an update, absent leaves the stored value and an empty one clears it.
52
52
  * @type {string}
53
53
  * @memberof EnvironmentProvisionSpecRequest
54
+ * @deprecated
54
55
  */
55
56
  setup?: string;
56
57
  /**
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { EnvironmentIngressPolicy } from './EnvironmentIngressPolicy';
13
+ import type { EnvironmentHooks } from './EnvironmentHooks';
13
14
  import type { EnvironmentVolumeMount } from './EnvironmentVolumeMount';
14
15
  import type { EnvironmentEgressPolicy } from './EnvironmentEgressPolicy';
15
16
  import type { EnvironmentDisk } from './EnvironmentDisk';
@@ -137,6 +138,24 @@ export interface EnvironmentSnapshot {
137
138
  * @memberof EnvironmentSnapshot
138
139
  */
139
140
  shutdownGracePeriodSeconds?: number;
141
+ /**
142
+ * Working directory captured at machine creation; absent means none was declared
143
+ * @type {string}
144
+ * @memberof EnvironmentSnapshot
145
+ */
146
+ workingDirectory?: string;
147
+ /**
148
+ * Hooks captured at machine creation; absent means none was declared
149
+ * @type {EnvironmentHooks}
150
+ * @memberof EnvironmentSnapshot
151
+ */
152
+ hooks?: EnvironmentHooks;
153
+ /**
154
+ * Setup script bound captured at machine creation; absent means the deployment's
155
+ * @type {number}
156
+ * @memberof EnvironmentSnapshot
157
+ */
158
+ setupTimeoutSeconds?: number;
140
159
  }
141
160
  /**
142
161
  * @export
@@ -20,6 +20,7 @@ exports.EnvironmentSnapshotFromJSONTyped = EnvironmentSnapshotFromJSONTyped;
20
20
  exports.EnvironmentSnapshotToJSON = EnvironmentSnapshotToJSON;
21
21
  exports.EnvironmentSnapshotToJSONTyped = EnvironmentSnapshotToJSONTyped;
22
22
  const EnvironmentIngressPolicy_1 = require("./EnvironmentIngressPolicy");
23
+ const EnvironmentHooks_1 = require("./EnvironmentHooks");
23
24
  const EnvironmentVolumeMount_1 = require("./EnvironmentVolumeMount");
24
25
  const EnvironmentEgressPolicy_1 = require("./EnvironmentEgressPolicy");
25
26
  const EnvironmentDisk_1 = require("./EnvironmentDisk");
@@ -90,6 +91,9 @@ function EnvironmentSnapshotFromJSONTyped(json, ignoreDiscriminator) {
90
91
  'keepAliveWhenIdle': json['keepAliveWhenIdle'],
91
92
  'ttl': json['ttl'] == null ? undefined : json['ttl'],
92
93
  'shutdownGracePeriodSeconds': json['shutdownGracePeriodSeconds'] == null ? undefined : json['shutdownGracePeriodSeconds'],
94
+ 'workingDirectory': json['workingDirectory'] == null ? undefined : json['workingDirectory'],
95
+ 'hooks': json['hooks'] == null ? undefined : (0, EnvironmentHooks_1.EnvironmentHooksFromJSON)(json['hooks']),
96
+ 'setupTimeoutSeconds': json['setupTimeoutSeconds'] == null ? undefined : json['setupTimeoutSeconds'],
93
97
  };
94
98
  }
95
99
  function EnvironmentSnapshotToJSON(json) {
@@ -119,5 +123,8 @@ function EnvironmentSnapshotToJSONTyped(value, ignoreDiscriminator = false) {
119
123
  'keepAliveWhenIdle': value['keepAliveWhenIdle'],
120
124
  'ttl': value['ttl'],
121
125
  'shutdownGracePeriodSeconds': value['shutdownGracePeriodSeconds'],
126
+ 'workingDirectory': value['workingDirectory'],
127
+ 'hooks': (0, EnvironmentHooks_1.EnvironmentHooksToJSON)(value['hooks']),
128
+ 'setupTimeoutSeconds': value['setupTimeoutSeconds'],
122
129
  };
123
130
  }
@@ -43,11 +43,17 @@ export interface Machine {
43
43
  */
44
44
  environmentId: string;
45
45
  /**
46
- * Compute registration key this machine launched on
46
+ * The internal registration key this machine launched on, for operators; computeProviderId names the compute provider
47
47
  * @type {string}
48
48
  * @memberof Machine
49
49
  */
50
50
  computeProviderKey: string;
51
+ /**
52
+ * The compute provider this machine runs on: cprov_orchestra on hosted compute, or the self-hosted record whose Launcher runs it. Absent on a customer's own enrolled machine
53
+ * @type {string}
54
+ * @memberof Machine
55
+ */
56
+ computeProviderId?: string;
51
57
  /**
52
58
  * Compute-provider instance id
53
59
  * @type {string}
@@ -105,6 +105,7 @@ function MachineFromJSONTyped(json, ignoreDiscriminator) {
105
105
  'organizationId': json['organizationId'],
106
106
  'environmentId': json['environmentId'],
107
107
  'computeProviderKey': json['computeProviderKey'],
108
+ 'computeProviderId': json['computeProviderId'] == null ? undefined : json['computeProviderId'],
108
109
  'computeProviderInstanceId': json['computeProviderInstanceId'] == null ? undefined : json['computeProviderInstanceId'],
109
110
  'status': json['status'],
110
111
  'reason': json['reason'] == null ? undefined : json['reason'],
@@ -141,6 +142,7 @@ function MachineToJSONTyped(value, ignoreDiscriminator = false) {
141
142
  'organizationId': value['organizationId'],
142
143
  'environmentId': value['environmentId'],
143
144
  'computeProviderKey': value['computeProviderKey'],
145
+ 'computeProviderId': value['computeProviderId'],
144
146
  'computeProviderInstanceId': value['computeProviderInstanceId'],
145
147
  'status': value['status'],
146
148
  'reason': value['reason'],
@@ -34,7 +34,7 @@ export interface OrganizationAuthPolicy {
34
34
  */
35
35
  requiredMfa: boolean;
36
36
  /**
37
- * Allowed email domains for bootstrap and invite flows
37
+ * Email domains an invitation may address. Empty allows any domain. An invitation to an address outside them is refused when it is created and when it is accepted.
38
38
  * @type {Set<string>}
39
39
  * @memberof OrganizationAuthPolicy
40
40
  */
@@ -28,6 +28,12 @@ export interface OrganizationInvitation {
28
28
  * @memberof OrganizationInvitation
29
29
  */
30
30
  organizationId: string;
31
+ /**
32
+ * Name of the organization the invitation is to, read when the invitation is read
33
+ * @type {string}
34
+ * @memberof OrganizationInvitation
35
+ */
36
+ organizationName: string;
31
37
  /**
32
38
  * Invited email address
33
39
  * @type {string}
@@ -35,7 +41,7 @@ export interface OrganizationInvitation {
35
41
  */
36
42
  email: string;
37
43
  /**
38
- * Invitation lifecycle status
44
+ * Invitation lifecycle status. A pending invitation whose expiry has passed reads `EXPIRED`.
39
45
  * @type {OrganizationInvitationStatusEnum}
40
46
  * @memberof OrganizationInvitation
41
47
  */
@@ -70,6 +76,12 @@ export interface OrganizationInvitation {
70
76
  * @memberof OrganizationInvitation
71
77
  */
72
78
  acceptedAt?: Date;
79
+ /**
80
+ * When the identity provider sent the invitation email. Absent when no new email went out.
81
+ * @type {Date}
82
+ * @memberof OrganizationInvitation
83
+ */
84
+ emailSentAt?: Date;
73
85
  /**
74
86
  * IAM role assignments referenced by this invitation (via `invitation_roles`), each with its optional project scope — the sole grant surface, carried to the membership minted at acceptance; a whole-list replacement on write
75
87
  * @type {Array<RoleAssignment>}
@@ -105,6 +117,7 @@ export declare const OrganizationInvitationStatusEnum: {
105
117
  readonly Accepted: "ACCEPTED";
106
118
  readonly Expired: "EXPIRED";
107
119
  readonly Revoked: "REVOKED";
120
+ readonly Declined: "DECLINED";
108
121
  };
109
122
  export type OrganizationInvitationStatusEnum = typeof OrganizationInvitationStatusEnum[keyof typeof OrganizationInvitationStatusEnum];
110
123
  /**
@@ -27,7 +27,8 @@ exports.OrganizationInvitationStatusEnum = {
27
27
  Pending: 'PENDING',
28
28
  Accepted: 'ACCEPTED',
29
29
  Expired: 'EXPIRED',
30
- Revoked: 'REVOKED'
30
+ Revoked: 'REVOKED',
31
+ Declined: 'DECLINED'
31
32
  };
32
33
  /**
33
34
  * Check if a given object implements the OrganizationInvitation interface.
@@ -37,6 +38,8 @@ function instanceOfOrganizationInvitation(value) {
37
38
  return false;
38
39
  if (!('organizationId' in value) || value['organizationId'] === undefined)
39
40
  return false;
41
+ if (!('organizationName' in value) || value['organizationName'] === undefined)
42
+ return false;
40
43
  if (!('email' in value) || value['email'] === undefined)
41
44
  return false;
42
45
  if (!('status' in value) || value['status'] === undefined)
@@ -63,6 +66,7 @@ function OrganizationInvitationFromJSONTyped(json, ignoreDiscriminator) {
63
66
  return {
64
67
  'id': json['id'],
65
68
  'organizationId': json['organizationId'],
69
+ 'organizationName': json['organizationName'],
66
70
  'email': json['email'],
67
71
  'status': json['status'],
68
72
  'invitedByUserId': json['invitedByUserId'] == null ? undefined : json['invitedByUserId'],
@@ -70,6 +74,7 @@ function OrganizationInvitationFromJSONTyped(json, ignoreDiscriminator) {
70
74
  'acceptedMembershipId': json['acceptedMembershipId'] == null ? undefined : json['acceptedMembershipId'],
71
75
  'expiresAt': (new Date(json['expiresAt'])),
72
76
  'acceptedAt': json['acceptedAt'] == null ? undefined : (new Date(json['acceptedAt'])),
77
+ 'emailSentAt': json['emailSentAt'] == null ? undefined : (new Date(json['emailSentAt'])),
73
78
  'roleAssignments': (json['roleAssignments'].map(RoleAssignment_1.RoleAssignmentFromJSON)),
74
79
  'createdAt': (new Date(json['createdAt'])),
75
80
  'updatedAt': (new Date(json['updatedAt'])),
@@ -86,6 +91,7 @@ function OrganizationInvitationToJSONTyped(value, ignoreDiscriminator = false) {
86
91
  return {
87
92
  'id': value['id'],
88
93
  'organizationId': value['organizationId'],
94
+ 'organizationName': value['organizationName'],
89
95
  'email': value['email'],
90
96
  'status': value['status'],
91
97
  'invitedByUserId': value['invitedByUserId'],
@@ -93,6 +99,7 @@ function OrganizationInvitationToJSONTyped(value, ignoreDiscriminator = false) {
93
99
  'acceptedMembershipId': value['acceptedMembershipId'],
94
100
  'expiresAt': value['expiresAt'].toISOString(),
95
101
  'acceptedAt': value['acceptedAt'] == null ? value['acceptedAt'] : value['acceptedAt'].toISOString(),
102
+ 'emailSentAt': value['emailSentAt'] == null ? value['emailSentAt'] : value['emailSentAt'].toISOString(),
96
103
  'roleAssignments': (value['roleAssignments'].map(RoleAssignment_1.RoleAssignmentToJSON)),
97
104
  'createdAt': value['createdAt'].toISOString(),
98
105
  'updatedAt': value['updatedAt'].toISOString(),
@@ -57,6 +57,12 @@ export interface Principal {
57
57
  * @memberof Principal
58
58
  */
59
59
  email?: string;
60
+ /**
61
+ * Whether the identity provider reported the user's email verified at their last sign-in, when the principal is a user
62
+ * @type {boolean}
63
+ * @memberof Principal
64
+ */
65
+ emailVerified?: boolean;
60
66
  /**
61
67
  * Human-readable principal display name
62
68
  * @type {string}