@orchestraworks/cli 0.5.2 → 0.5.3

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 (103) 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 +842 -0
  16. package/dist/generated/managed-skills.d.ts +2 -0
  17. package/dist/generated/managed-skills.js +13 -0
  18. package/dist/index.d.ts +1 -1
  19. package/docs/REFERENCE.md +21 -1
  20. package/node_modules/@orchestraworks/client/dist/esm/models/ComputeProvider.d.ts +3 -3
  21. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.d.ts +13 -0
  22. package/node_modules/@orchestraworks/client/dist/esm/models/CreateEnvironmentRequest.js +5 -0
  23. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.d.ts +13 -0
  24. package/node_modules/@orchestraworks/client/dist/esm/models/Environment.js +5 -0
  25. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHook.d.ts +38 -0
  26. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHook.js +45 -0
  27. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooks.d.ts +39 -0
  28. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooks.js +44 -0
  29. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooksRequest.d.ts +39 -0
  30. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentHooksRequest.js +44 -0
  31. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentProvisionSpec.d.ts +2 -1
  32. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentProvisionSpecRequest.d.ts +2 -1
  33. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentSnapshot.d.ts +19 -0
  34. package/node_modules/@orchestraworks/client/dist/esm/models/EnvironmentSnapshot.js +7 -0
  35. package/node_modules/@orchestraworks/client/dist/esm/models/Machine.d.ts +7 -1
  36. package/node_modules/@orchestraworks/client/dist/esm/models/Machine.js +2 -0
  37. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateEnvironmentRequest.d.ts +13 -0
  38. package/node_modules/@orchestraworks/client/dist/esm/models/UpdateEnvironmentRequest.js +5 -0
  39. package/node_modules/@orchestraworks/client/dist/esm/models/index.d.ts +3 -0
  40. package/node_modules/@orchestraworks/client/dist/esm/models/index.js +3 -0
  41. package/node_modules/@orchestraworks/client/dist/models/ComputeProvider.d.ts +3 -3
  42. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.d.ts +13 -0
  43. package/node_modules/@orchestraworks/client/dist/models/CreateEnvironmentRequest.js +5 -0
  44. package/node_modules/@orchestraworks/client/dist/models/Environment.d.ts +13 -0
  45. package/node_modules/@orchestraworks/client/dist/models/Environment.js +5 -0
  46. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHook.d.ts +38 -0
  47. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHook.js +52 -0
  48. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooks.d.ts +39 -0
  49. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooks.js +51 -0
  50. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooksRequest.d.ts +39 -0
  51. package/node_modules/@orchestraworks/client/dist/models/EnvironmentHooksRequest.js +51 -0
  52. package/node_modules/@orchestraworks/client/dist/models/EnvironmentProvisionSpec.d.ts +2 -1
  53. package/node_modules/@orchestraworks/client/dist/models/EnvironmentProvisionSpecRequest.d.ts +2 -1
  54. package/node_modules/@orchestraworks/client/dist/models/EnvironmentSnapshot.d.ts +19 -0
  55. package/node_modules/@orchestraworks/client/dist/models/EnvironmentSnapshot.js +7 -0
  56. package/node_modules/@orchestraworks/client/dist/models/Machine.d.ts +7 -1
  57. package/node_modules/@orchestraworks/client/dist/models/Machine.js +2 -0
  58. package/node_modules/@orchestraworks/client/dist/models/UpdateEnvironmentRequest.d.ts +13 -0
  59. package/node_modules/@orchestraworks/client/dist/models/UpdateEnvironmentRequest.js +5 -0
  60. package/node_modules/@orchestraworks/client/dist/models/index.d.ts +3 -0
  61. package/node_modules/@orchestraworks/client/dist/models/index.js +3 -0
  62. package/node_modules/@orchestraworks/client/package.json +1 -1
  63. package/package.json +4 -4
  64. package/skills/orchestra/SKILL.md +167 -42
  65. package/skills/orchestra-fdk/SKILL.md +112 -545
  66. package/skills/orchestra-fdk/references/authoring.md +29 -2
  67. package/skills/orchestra-fdk/references/environment.md +295 -41
  68. package/skills/orchestra-fdk/references/integrations/analytics.md +18 -0
  69. package/skills/orchestra-fdk/references/integrations/ci-cd.md +20 -0
  70. package/skills/orchestra-fdk/references/integrations/cloud.md +19 -0
  71. package/skills/orchestra-fdk/references/integrations/code-repo.md +76 -0
  72. package/skills/orchestra-fdk/references/integrations/databases.md +22 -0
  73. package/skills/orchestra-fdk/references/integrations/dependencies.md +29 -0
  74. package/skills/orchestra-fdk/references/integrations/design.md +18 -0
  75. package/skills/orchestra-fdk/references/integrations/feature-flags.md +19 -0
  76. package/skills/orchestra-fdk/references/integrations/incident.md +29 -0
  77. package/skills/orchestra-fdk/references/integrations/issue-tracker.md +65 -0
  78. package/skills/orchestra-fdk/references/integrations/knowledge-base.md +43 -0
  79. package/skills/orchestra-fdk/references/integrations/messaging.md +38 -0
  80. package/skills/orchestra-fdk/references/integrations/observability.md +36 -0
  81. package/skills/orchestra-fdk/references/integrations/secrets-managers.md +25 -0
  82. package/skills/orchestra-fdk/references/integrations/support-desk.md +31 -0
  83. package/skills/orchestra-fdk/references/phases/0-start.md +62 -0
  84. package/skills/orchestra-fdk/references/phases/1-discover.md +111 -0
  85. package/skills/orchestra-fdk/references/phases/2-plan.md +157 -0
  86. package/skills/orchestra-fdk/references/phases/3-connect.md +99 -0
  87. package/skills/orchestra-fdk/references/phases/4-build.md +159 -0
  88. package/skills/orchestra-fdk/references/phases/5-prove.md +107 -0
  89. package/skills/orchestra-fdk/references/phases/6-handover.md +42 -0
  90. package/skills/orchestra-fdk/references/troubleshooting.md +128 -0
  91. package/templates/bug-fix/agents/bugfix.md +1 -1
  92. package/templates/bug-fix/main.ts +1 -1
  93. package/templates/engineering-team/README.md +45 -181
  94. package/templates/engineering-team/agents/engineer-agent.md +10 -7
  95. package/templates/engineering-team/agents/manager-agent.md +23 -120
  96. package/templates/engineering-team/inputs.json +1 -3
  97. package/templates/engineering-team/lib/environment.ts +10 -90
  98. package/templates/engineering-team/lib/inputs.ts +5 -97
  99. package/templates/engineering-team/main.ts +22 -69
  100. package/templates/todo-factory/agents/bugfix.md +1 -1
  101. package/templates/todo-factory/main.ts +1 -1
  102. package/templates/engineering-team/agents/engineer-bare.md +0 -22
  103. package/templates/engineering-team/onboarding/create-score-metrics.sh +0 -33
@@ -124,6 +124,9 @@ export * from './Environment';
124
124
  export * from './EnvironmentDisk';
125
125
  export * from './EnvironmentDiskMount';
126
126
  export * from './EnvironmentEgressPolicy';
127
+ export * from './EnvironmentHook';
128
+ export * from './EnvironmentHooks';
129
+ export * from './EnvironmentHooksRequest';
127
130
  export * from './EnvironmentIngressPolicy';
128
131
  export * from './EnvironmentMount';
129
132
  export * from './EnvironmentPlatform';
@@ -126,6 +126,9 @@ export * from './Environment';
126
126
  export * from './EnvironmentDisk';
127
127
  export * from './EnvironmentDiskMount';
128
128
  export * from './EnvironmentEgressPolicy';
129
+ export * from './EnvironmentHook';
130
+ export * from './EnvironmentHooks';
131
+ export * from './EnvironmentHooksRequest';
129
132
  export * from './EnvironmentIngressPolicy';
130
133
  export * from './EnvironmentMount';
131
134
  export * from './EnvironmentPlatform';
@@ -20,7 +20,7 @@ import type { ComputeProviderHealth } from './ComputeProviderHealth';
20
20
  */
21
21
  export interface ComputeProvider {
22
22
  /**
23
- * Compute provider id: a self-hosted record's TypeID, or a managed provider's key
23
+ * Compute provider id: a self-hosted record's TypeID, or cprov_orchestra for the managed provider
24
24
  * @type {string}
25
25
  * @memberof ComputeProvider
26
26
  */
@@ -32,7 +32,7 @@ export interface ComputeProvider {
32
32
  */
33
33
  kind: ComputeProviderKindEnum;
34
34
  /**
35
- * A self-hosted record's slug, fixed at create
35
+ * A self-hosted record's slug, fixed at create, or orchestra for the managed provider
36
36
  * @type {string}
37
37
  * @memberof ComputeProvider
38
38
  */
@@ -92,7 +92,7 @@ export interface ComputeProvider {
92
92
  */
93
93
  state?: ComputeProviderStateEnum;
94
94
  /**
95
- * The operating systems and architectures a managed provider runs
95
+ * The operating systems and architectures the managed provider runs
96
96
  * @type {Array<EnvironmentPlatform>}
97
97
  * @memberof ComputeProvider
98
98
  */
@@ -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
  }
@@ -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'],
@@ -13,6 +13,7 @@ import type { EnvironmentIngressPolicy } from './EnvironmentIngressPolicy';
13
13
  import type { EnvironmentPlatformRequest } from './EnvironmentPlatformRequest';
14
14
  import type { EnvironmentEgressPolicy } from './EnvironmentEgressPolicy';
15
15
  import type { EnvironmentProvisionSpecRequest } from './EnvironmentProvisionSpecRequest';
16
+ import type { EnvironmentHooksRequest } from './EnvironmentHooksRequest';
16
17
  /**
17
18
  *
18
19
  * @export
@@ -49,6 +50,18 @@ export interface UpdateEnvironmentRequest {
49
50
  * @memberof UpdateEnvironmentRequest
50
51
  */
51
52
  provisionSpec?: EnvironmentProvisionSpecRequest;
53
+ /**
54
+ * 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. On an update, absent leaves the stored value and an empty one clears it.
55
+ * @type {string}
56
+ * @memberof UpdateEnvironmentRequest
57
+ */
58
+ workingDirectory?: string;
59
+ /**
60
+ * 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. On an update, an absent object or member leaves the stored hook.
61
+ * @type {EnvironmentHooksRequest}
62
+ * @memberof UpdateEnvironmentRequest
63
+ */
64
+ hooks?: EnvironmentHooksRequest;
52
65
  /**
53
66
  * Labels: the customer's key-to-value tags; the platform reads no key. Merged into the stored labels as a JSON Merge Patch: absent leaves them, a key with a string sets it, a key with null removes it, and null removes them all
54
67
  * @type {{ [key: string]: string | null; }}
@@ -22,6 +22,7 @@ const EnvironmentIngressPolicy_1 = require("./EnvironmentIngressPolicy");
22
22
  const EnvironmentPlatformRequest_1 = require("./EnvironmentPlatformRequest");
23
23
  const EnvironmentEgressPolicy_1 = require("./EnvironmentEgressPolicy");
24
24
  const EnvironmentProvisionSpecRequest_1 = require("./EnvironmentProvisionSpecRequest");
25
+ const EnvironmentHooksRequest_1 = require("./EnvironmentHooksRequest");
25
26
  /**
26
27
  * Check if a given object implements the UpdateEnvironmentRequest interface.
27
28
  */
@@ -41,6 +42,8 @@ function UpdateEnvironmentRequestFromJSONTyped(json, ignoreDiscriminator) {
41
42
  'egressPolicy': json['egressPolicy'] == null ? undefined : (0, EnvironmentEgressPolicy_1.EnvironmentEgressPolicyFromJSON)(json['egressPolicy']),
42
43
  'ingressPolicy': json['ingressPolicy'] == null ? undefined : (0, EnvironmentIngressPolicy_1.EnvironmentIngressPolicyFromJSON)(json['ingressPolicy']),
43
44
  'provisionSpec': json['provisionSpec'] == null ? undefined : (0, EnvironmentProvisionSpecRequest_1.EnvironmentProvisionSpecRequestFromJSON)(json['provisionSpec']),
45
+ 'workingDirectory': json['workingDirectory'] == null ? undefined : json['workingDirectory'],
46
+ 'hooks': json['hooks'] == null ? undefined : (0, EnvironmentHooksRequest_1.EnvironmentHooksRequestFromJSON)(json['hooks']),
44
47
  'labels': json['labels'] == null ? undefined : json['labels'],
45
48
  };
46
49
  }
@@ -57,6 +60,8 @@ function UpdateEnvironmentRequestToJSONTyped(value, ignoreDiscriminator = false)
57
60
  'egressPolicy': (0, EnvironmentEgressPolicy_1.EnvironmentEgressPolicyToJSON)(value['egressPolicy']),
58
61
  'ingressPolicy': (0, EnvironmentIngressPolicy_1.EnvironmentIngressPolicyToJSON)(value['ingressPolicy']),
59
62
  'provisionSpec': (0, EnvironmentProvisionSpecRequest_1.EnvironmentProvisionSpecRequestToJSON)(value['provisionSpec']),
63
+ 'workingDirectory': value['workingDirectory'],
64
+ 'hooks': (0, EnvironmentHooksRequest_1.EnvironmentHooksRequestToJSON)(value['hooks']),
60
65
  'labels': value['labels'],
61
66
  };
62
67
  }
@@ -124,6 +124,9 @@ export * from './Environment';
124
124
  export * from './EnvironmentDisk';
125
125
  export * from './EnvironmentDiskMount';
126
126
  export * from './EnvironmentEgressPolicy';
127
+ export * from './EnvironmentHook';
128
+ export * from './EnvironmentHooks';
129
+ export * from './EnvironmentHooksRequest';
127
130
  export * from './EnvironmentIngressPolicy';
128
131
  export * from './EnvironmentMount';
129
132
  export * from './EnvironmentPlatform';
@@ -142,6 +142,9 @@ __exportStar(require("./Environment"), exports);
142
142
  __exportStar(require("./EnvironmentDisk"), exports);
143
143
  __exportStar(require("./EnvironmentDiskMount"), exports);
144
144
  __exportStar(require("./EnvironmentEgressPolicy"), exports);
145
+ __exportStar(require("./EnvironmentHook"), exports);
146
+ __exportStar(require("./EnvironmentHooks"), exports);
147
+ __exportStar(require("./EnvironmentHooksRequest"), exports);
145
148
  __exportStar(require("./EnvironmentIngressPolicy"), exports);
146
149
  __exportStar(require("./EnvironmentMount"), exports);
147
150
  __exportStar(require("./EnvironmentPlatform"), exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orchestraworks/client",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Orchestra public API TypeScript client",
5
5
  "author": "Living Computers",
6
6
  "repository": {