@qawolf/api-contracts 0.18.0 → 0.22.0

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 (90) hide show
  1. package/dist/v1/automate/index.d.ts +1 -1
  2. package/dist/v1/automate/index.d.ts.map +1 -1
  3. package/dist/v1/automate/index.js +3 -3
  4. package/dist/v1/automate/index.js.map +1 -1
  5. package/dist/v1/environment/find.d.ts +1 -0
  6. package/dist/v1/environment/find.d.ts.map +1 -1
  7. package/dist/v1/environment/getVariable.d.ts +19 -0
  8. package/dist/v1/environment/getVariable.d.ts.map +1 -0
  9. package/dist/v1/environment/getVariable.js +34 -0
  10. package/dist/v1/environment/getVariable.js.map +1 -0
  11. package/dist/v1/environment/index.d.ts +5 -3
  12. package/dist/v1/environment/index.d.ts.map +1 -1
  13. package/dist/v1/environment/index.js +3 -3
  14. package/dist/v1/environment/index.js.map +1 -1
  15. package/dist/v1/environment/resource.d.ts +1 -0
  16. package/dist/v1/environment/resource.d.ts.map +1 -1
  17. package/dist/v1/environment/resource.js +3 -0
  18. package/dist/v1/environment/resource.js.map +1 -1
  19. package/dist/v1/environment/update.d.ts +39 -0
  20. package/dist/v1/environment/update.d.ts.map +1 -0
  21. package/dist/v1/environment/update.js +38 -0
  22. package/dist/v1/environment/update.js.map +1 -0
  23. package/dist/v1/flow/index.d.ts +4 -0
  24. package/dist/v1/flow/index.d.ts.map +1 -1
  25. package/dist/v1/flow/index.js +2 -0
  26. package/dist/v1/flow/index.js.map +1 -1
  27. package/dist/v1/flow/readiness.d.ts +12 -0
  28. package/dist/v1/flow/readiness.d.ts.map +1 -0
  29. package/dist/v1/flow/readiness.js +12 -0
  30. package/dist/v1/flow/readiness.js.map +1 -0
  31. package/dist/v1/flow/update.d.ts +28 -0
  32. package/dist/v1/flow/update.d.ts.map +1 -0
  33. package/dist/v1/flow/update.js +26 -0
  34. package/dist/v1/flow/update.js.map +1 -0
  35. package/dist/v1/index.d.ts +439 -130
  36. package/dist/v1/index.d.ts.map +1 -1
  37. package/dist/v1/index.js +31 -0
  38. package/dist/v1/index.js.map +1 -1
  39. package/dist/v1/issue/update.d.ts +3 -60
  40. package/dist/v1/issue/update.d.ts.map +1 -1
  41. package/dist/v1/issue/update.js +15 -9
  42. package/dist/v1/issue/update.js.map +1 -1
  43. package/dist/v1/run/get.d.ts +1 -1
  44. package/dist/v1/run/get.d.ts.map +1 -1
  45. package/dist/v1/run/get.js +3 -0
  46. package/dist/v1/run/get.js.map +1 -1
  47. package/dist/v1/run/summary.d.ts.map +1 -1
  48. package/dist/v1/run/summary.js +3 -0
  49. package/dist/v1/run/summary.js.map +1 -1
  50. package/dist/v1/runner/environment.d.ts +4 -0
  51. package/dist/v1/runner/environment.d.ts.map +1 -0
  52. package/dist/v1/runner/environment.js +46 -0
  53. package/dist/v1/runner/environment.js.map +1 -0
  54. package/dist/v1/runner/evaluateSnippet.d.ts +24 -0
  55. package/dist/v1/runner/evaluateSnippet.d.ts.map +1 -0
  56. package/dist/v1/runner/evaluateSnippet.js +54 -0
  57. package/dist/v1/runner/evaluateSnippet.js.map +1 -0
  58. package/dist/v1/runner/files.d.ts +26 -0
  59. package/dist/v1/runner/files.d.ts.map +1 -0
  60. package/dist/v1/runner/files.js +65 -0
  61. package/dist/v1/runner/files.js.map +1 -0
  62. package/dist/v1/runner/identity.d.ts +21 -0
  63. package/dist/v1/runner/identity.d.ts.map +1 -0
  64. package/dist/v1/runner/identity.js +21 -0
  65. package/dist/v1/runner/identity.js.map +1 -0
  66. package/dist/v1/runner/index.d.ts +45 -0
  67. package/dist/v1/runner/index.d.ts.map +1 -0
  68. package/dist/v1/runner/index.js +41 -0
  69. package/dist/v1/runner/index.js.map +1 -0
  70. package/dist/v1/runner/journal.d.ts +104 -0
  71. package/dist/v1/runner/journal.d.ts.map +1 -0
  72. package/dist/v1/runner/journal.js +52 -0
  73. package/dist/v1/runner/journal.js.map +1 -0
  74. package/dist/v1/runner/payloadSize.d.ts +27 -0
  75. package/dist/v1/runner/payloadSize.d.ts.map +1 -0
  76. package/dist/v1/runner/payloadSize.js +49 -0
  77. package/dist/v1/runner/payloadSize.js.map +1 -0
  78. package/dist/v1/runner/readJournal.d.ts +31 -0
  79. package/dist/v1/runner/readJournal.d.ts.map +1 -0
  80. package/dist/v1/runner/readJournal.js +22 -0
  81. package/dist/v1/runner/readJournal.js.map +1 -0
  82. package/dist/v1/runner/runFlow.d.ts +33 -0
  83. package/dist/v1/runner/runFlow.d.ts.map +1 -0
  84. package/dist/v1/runner/runFlow.js +48 -0
  85. package/dist/v1/runner/runFlow.js.map +1 -0
  86. package/dist/v1/runner/unreachable.d.ts +16 -0
  87. package/dist/v1/runner/unreachable.d.ts.map +1 -0
  88. package/dist/v1/runner/unreachable.js +16 -0
  89. package/dist/v1/runner/unreachable.js.map +1 -0
  90. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { PublicIdSchema, PublicIdSchemasOf } from "../ids.js";
3
3
  export declare const makeAutomateContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema, AutomationId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId, AutomationId>) => {
4
- readonly description: "Request an automation that builds the selected draft flows in an environment.";
4
+ readonly description: "Request automation for draft flows. First create a named local .flow.ts draft for every requested journey that does not already have a matching draft; never reuse a generic starter or placeholder. Each new draft must start with a JSDoc Goal: description, import flow from @qawolf/flows/web, and use export default flow(...); a comment-only file or direct test(...) call is not a valid draft. Commit and push all changes with Git to publish them, then list remote drafts to resolve every selected ID. Do not use patch to create or rename a selected flow. Finally make one automation request containing all requested flow IDs.";
5
5
  readonly input: z.ZodObject<{
6
6
  environmentId: PublicIdSchema;
7
7
  flowIds: z.ZodArray<FlowId>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/automate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGnE,eAAO,MAAM,oBAAoB,GAC/B,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,cAAc,EAEnC,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;;;;;;;;;;;;;CAyCnE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/automate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGnE,eAAO,MAAM,oBAAoB,GAC/B,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,cAAc,EAEnC,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;;;;;;;;;;;;;CA2CnE,CAAC"}
@@ -9,17 +9,17 @@ export const makeAutomateContract = (ids) => {
9
9
  // Matches the server's maxJobsPerAiJobGroup cap.
10
10
  .max(300)
11
11
  .refine((flowIds) => new Set(flowIds).size === flowIds.length, "flowIds must be unique")
12
- .describe("Draft flows the automation builds."),
12
+ .describe("IDs of every requested draft flow the automation builds. Reuse an existing draft only when its name matches the requested journey; a generic starter or placeholder is not a match. After publishing, resolve the IDs with `qawolf --json flows list --remote --env <environment-id-or-alias> --include-drafts`."),
13
13
  patch: z
14
14
  .string()
15
15
  .min(1)
16
16
  .max(1_000_000)
17
17
  .optional()
18
- .describe("Unified diff applied to the automation's working branch before it runs."),
18
+ .describe("Unified diff applied to the automation's working branch before it runs. It cannot create or rename a selected flow; publish selected flows with Git first."),
19
19
  });
20
20
  const output = resource({ automationId: ids.automation }, { urlFieldDescription: "Absolute URL of the automation review page." });
21
21
  return {
22
- description: "Request an automation that builds the selected draft flows in an environment.",
22
+ description: "Request automation for draft flows. First create a named local .flow.ts draft for every requested journey that does not already have a matching draft; never reuse a generic starter or placeholder. Each new draft must start with a JSDoc Goal: description, import flow from @qawolf/flows/web, and use export default flow(...); a comment-only file or direct test(...) call is not a valid draft. Commit and push all changes with Git to publish them, then list remote drafts to resolve every selected ID. Do not use patch to create or rename a selected flow. Finally make one automation request containing all requested flow IDs.",
23
23
  input,
24
24
  kind: "write",
25
25
  name: "automate",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/automate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAMlC,GAAkE,EAClE,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,CAAC;YACP,iDAAiD;aAChD,GAAG,CAAC,GAAG,CAAC;aACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EACrD,wBAAwB,CACzB;aACA,QAAQ,CAAC,oCAAoC,CAAC;QACjD,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CACP,yEAAyE,CAC1E;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,EAChC,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,CACvE,CAAC;IAEF,OAAO;QACL,WAAW,EACT,+EAA+E;QACjF,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/automate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAMlC,GAAkE,EAClE,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;aACf,GAAG,CAAC,CAAC,CAAC;YACP,iDAAiD;aAChD,GAAG,CAAC,GAAG,CAAC;aACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EACrD,wBAAwB,CACzB;aACA,QAAQ,CACP,kTAAkT,CACnT;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CACP,4JAA4J,CAC7J;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,EAChC,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,CACvE,CAAC;IAEF,OAAO;QACL,WAAW,EACT,knBAAknB;QACpnB,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -32,6 +32,7 @@ export declare const makeFindEnvironmentsContract: <EnvironmentId extends Public
32
32
  preview: "preview";
33
33
  }>;
34
34
  name: z.ZodString;
35
+ runConcurrencyLimit: z.ZodString;
35
36
  status: z.ZodEnum<{
36
37
  blocked: "blocked";
37
38
  "needs-investigation": "needs-investigation";
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,4BAA4B,GACvC,aAAa,SAAS,cAAc,EACpC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCA,CAAC"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,4BAA4B,GACvC,aAAa,SAAS,cAAc,EACpC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCA,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema, PublicIdSchemasOf } from "../ids.js";
3
+ export declare const makeGetEnvironmentVariableContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId>) => {
4
+ readonly description: "Read the values of named environment variables in one call. Values are secrets. Names that do not exist go to missingNames and do not fail the call.";
5
+ readonly input: z.ZodObject<{
6
+ environmentId: PublicIdSchema;
7
+ variableNames: z.ZodArray<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ readonly kind: "read";
10
+ readonly name: "environment.getVariable";
11
+ readonly output: z.ZodObject<{
12
+ missingNames: z.ZodArray<z.ZodString>;
13
+ variables: z.ZodArray<z.ZodObject<{
14
+ name: z.ZodString;
15
+ value: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>;
18
+ };
19
+ //# sourceMappingURL=getVariable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariable.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/getVariable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnE,eAAO,MAAM,kCAAkC,GAC7C,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;CA6CrD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ export const makeGetEnvironmentVariableContract = (ids) => {
3
+ const input = z.object({
4
+ environmentId: ids.environmentRef,
5
+ variableNames: z
6
+ .array(z.string().min(1).max(255))
7
+ .min(1)
8
+ .max(100)
9
+ .describe("Names of the environment variables to read. Names match exactly as environment.listVariableNames returns them. Request every name you need in a single call, up to 100 names per call."),
10
+ });
11
+ const output = z.object({
12
+ missingNames: z
13
+ .array(z.string())
14
+ .describe("Requested names the environment does not have, sorted alphabetically."),
15
+ variables: z
16
+ .array(z.object({
17
+ name: z.string().describe("The stored variable name."),
18
+ value: z
19
+ .string()
20
+ .describe("The variable's secret value. Handle as a secret."),
21
+ }))
22
+ .describe("The found variables, sorted by name."),
23
+ });
24
+ return {
25
+ // A request that matches no names still succeeds. The caller reads the
26
+ // missing names from missingNames instead of an error.
27
+ description: "Read the values of named environment variables in one call. Values are secrets. Names that do not exist go to missingNames and do not fail the call.",
28
+ input,
29
+ kind: "read",
30
+ name: "environment.getVariable",
31
+ output,
32
+ };
33
+ };
34
+ //# sourceMappingURL=getVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariable.js","sourceRoot":"","sources":["../../../src/v1/environment/getVariable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAKhD,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,aAAa,EAAE,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,wLAAwL,CACzL;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,uEAAuE,CACxE;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACtD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,kDAAkD,CAAC;SAChE,CAAC,CACH;aACA,QAAQ,CAAC,sCAAsC,CAAC;KACpD,CAAC,CAAC;IAEH,OAAO;QACL,uEAAuE;QACvE,uDAAuD;QACvD,WAAW,EACT,sJAAsJ;QACxJ,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,yBAAyB;QAC/B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { PublicIdSchema, PublicIdSchemasOf } from "../ids.js";
3
3
  export declare const makeGetEnvironmentContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId>) => {
4
- readonly description: "Read a single environment's name, kind, health status, and termination state.";
4
+ readonly description: "Read a single environment's name, kind, health status, run concurrency limit, and termination state.";
5
5
  readonly input: z.ZodObject<{
6
6
  environmentId: PublicIdSchema;
7
7
  }, z.core.$strip>;
@@ -23,6 +23,7 @@ export declare const makeGetEnvironmentContract: <EnvironmentId extends PublicId
23
23
  preview: "preview";
24
24
  }>;
25
25
  name: z.ZodString;
26
+ runConcurrencyLimit: z.ZodString;
26
27
  status: z.ZodEnum<{
27
28
  blocked: "blocked";
28
29
  "needs-investigation": "needs-investigation";
@@ -34,7 +35,7 @@ export declare const makeGetEnvironmentContract: <EnvironmentId extends PublicId
34
35
  }, z.core.$strip>;
35
36
  };
36
37
  export declare const makeListEnvironmentVariableNamesContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId>) => {
37
- readonly description: "List the names of an environment's variables, sorted. Names only — values never leave the server.";
38
+ readonly description: "Use this to answer which QA Wolf environment variables are available to test code. Returns names only; values never leave the server.";
38
39
  readonly input: z.ZodObject<{
39
40
  environmentId: PublicIdSchema;
40
41
  }, z.core.$strip>;
@@ -45,7 +46,7 @@ export declare const makeListEnvironmentVariableNamesContract: <EnvironmentId ex
45
46
  }, z.core.$strip>;
46
47
  };
47
48
  export declare const makeSetEnvironmentVariableContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId>) => {
48
- readonly description: "Create or replace one environment variable by name and return its stored name. The value is never returned.";
49
+ readonly description: "Create or replace an environment variable. If the user asks to create one for \"my email\" without naming it, use DEFAULT_ENVIRONMENT_EMAIL. The value is never returned.";
49
50
  readonly input: z.ZodObject<{
50
51
  environmentId: PublicIdSchema;
51
52
  name: z.ZodString;
@@ -81,6 +82,7 @@ export declare const makeCreateEnvironmentContract: <EnvironmentId extends Publi
81
82
  preview: "preview";
82
83
  }>;
83
84
  name: z.ZodString;
85
+ runConcurrencyLimit: z.ZodString;
84
86
  status: z.ZodEnum<{
85
87
  blocked: "blocked";
86
88
  "needs-investigation": "needs-investigation";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAInE,eAAO,MAAM,0BAA0B,GACrC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBrD,CAAC;AAEF,eAAO,MAAM,wCAAwC,GACnD,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;CA8BrD,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;CAuCrD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,WAAW,SAAS,cAAc,GAAG,cAAc,EAEnD,KAAK,iBAAiB,CACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,cAAc,EACd,cAAc,EACd,WAAW,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAInE,eAAO,MAAM,0BAA0B,GACrC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBrD,CAAC;AAEF,eAAO,MAAM,wCAAwC,GACnD,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;CA8BrD,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;CAuCrD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,WAAW,SAAS,cAAc,GAAG,cAAc,EAEnD,KAAK,iBAAiB,CACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,cAAc,EACd,cAAc,EACd,WAAW,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BF,CAAC"}
@@ -6,7 +6,7 @@ export const makeGetEnvironmentContract = (ids) => {
6
6
  });
7
7
  const output = makeEnvironmentResourceSchema(ids);
8
8
  return {
9
- description: "Read a single environment's name, kind, health status, and termination state.",
9
+ description: "Read a single environment's name, kind, health status, run concurrency limit, and termination state.",
10
10
  input,
11
11
  kind: "read",
12
12
  name: "environment.get",
@@ -27,7 +27,7 @@ export const makeListEnvironmentVariableNamesContract = (ids) => {
27
27
  .describe("Names of the environment's variables, sorted alphabetically. Values are never returned."),
28
28
  });
29
29
  return {
30
- description: "List the names of an environment's variables, sorted. Names only — values never leave the server.",
30
+ description: "Use this to answer which QA Wolf environment variables are available to test code. Returns names only; values never leave the server.",
31
31
  input,
32
32
  kind: "read",
33
33
  name: "environment.listVariableNames",
@@ -53,7 +53,7 @@ export const makeSetEnvironmentVariableContract = (ids) => {
53
53
  .describe("The stored variable name after whitespace is replaced with underscores and letters are uppercased."),
54
54
  });
55
55
  return {
56
- description: "Create or replace one environment variable by name and return its stored name. The value is never returned.",
56
+ description: 'Create or replace an environment variable. If the user asks to create one for "my email" without naming it, use DEFAULT_ENVIRONMENT_EMAIL. The value is never returned.',
57
57
  input,
58
58
  kind: "write",
59
59
  name: "environment.setVariable",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAKxC,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EACT,+EAA+E;QACjF,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAKtD,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;KAClC,CAAC,CAAC;IACH,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,aAAa,EAAE,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,yFAAyF,CAC1F;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,mGAAmG;QACrG,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,+BAA+B;QACrC,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAKhD,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAE,4CAA4C,CAAC;aACpD,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,mLAAmL,CACpL;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,mEAAmE,CACpE;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,oGAAoG,CACrG;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,6GAA6G;QAC/G,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAM3C,GAOC,EACD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,KAAK,CAAC,IAAI,EAAE,mCAAmC,CAAC;aAChD,QAAQ,CAAC,sCAAsC,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,wGAAwG,CACzG;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EACT,wFAAwF;QAC1F,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAKxC,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EACT,sGAAsG;QACxG,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAKtD,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;KAClC,CAAC,CAAC;IACH,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,aAAa,EAAE,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,yFAAyF,CAC1F;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,uIAAuI;QACzI,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,+BAA+B;QACrC,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAKhD,GAAoD,EACpD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAE,4CAA4C,CAAC;aACpD,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,mLAAmL,CACpL;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,mEAAmE,CACpE;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,oGAAoG,CACrG;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,yKAAyK;QAC3K,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAM3C,GAOC,EACD,EAAE;IACF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,KAAK,CAAC,IAAI,EAAE,mCAAmC,CAAC;aAChD,QAAQ,CAAC,sCAAsC,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,wGAAwG,CACzG;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EACT,wFAAwF;QAC1F,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -18,6 +18,7 @@ export declare const makeEnvironmentResourceSchema: <EnvironmentId extends Publi
18
18
  preview: "preview";
19
19
  }>;
20
20
  name: z.ZodString;
21
+ runConcurrencyLimit: z.ZodString;
21
22
  status: z.ZodEnum<{
22
23
  blocked: "blocked";
23
24
  "needs-investigation": "needs-investigation";
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,6BAA6B,GACxC,aAAa,SAAS,cAAc,EACpC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;iBAwDE,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,6BAA6B,GACxC,aAAa,SAAS,cAAc,EACpC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;iBA6DE,CAAC"}
@@ -37,6 +37,9 @@ export const makeEnvironmentResourceSchema = (ids) => resource({
37
37
  .enum(["static", "preview"])
38
38
  .describe("Whether the environment is static or a preview."),
39
39
  name: z.string(),
40
+ runConcurrencyLimit: z
41
+ .string()
42
+ .describe('Maximum number of concurrent runs: a whole number, "unlimited", or a concurrency expression.'),
40
43
  // Environment-scoped health, aligned with the CI greenlight vocabulary
41
44
  // (deriveEffectiveEnvironmentStatus): "ready" is the greenlit state.
42
45
  status: z
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/v1/environment/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAE3C,GAED,EAAE,EAAE,CACH,QAAQ,CACN;IACE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+HAA+H,CAChI;IACH,iEAAiE;IACjE,kEAAkE;IAClE,0DAA0D;IAC1D,cAAc,EAAE,CAAC;SACd,kBAAkB,CAAC,YAAY,EAAE;QAChC,CAAC,CAAC,MAAM,CAAC;YACP,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,QAAQ,CAAC,uCAAuC,CAAC;YACpD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,OAAO,CAAC,YAAY,CAAC;iBACrB,QAAQ,CAAC,gDAAgD,CAAC;SAC9D,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,OAAO,CAAC,gBAAgB,CAAC;iBACzB,QAAQ,CAAC,+CAA+C,CAAC;SAC7D,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,qFAAqF,CACtF;IACH,EAAE,EAAE,GAAG,CAAC,WAAW;IACnB,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3B,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SAC5D,QAAQ,CACP,yMAAyM,CAC1M;IACH,YAAY,EAAE,CAAC,CAAC,GAAG;SAChB,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CACpE,EACD,EAAE,mBAAmB,EAAE,uCAAuC,EAAE,CACjE,CAAC"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/v1/environment/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAE3C,GAED,EAAE,EAAE,CACH,QAAQ,CACN;IACE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+HAA+H,CAChI;IACH,iEAAiE;IACjE,kEAAkE;IAClE,0DAA0D;IAC1D,cAAc,EAAE,CAAC;SACd,kBAAkB,CAAC,YAAY,EAAE;QAChC,CAAC,CAAC,MAAM,CAAC;YACP,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,QAAQ,CAAC,uCAAuC,CAAC;YACpD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,OAAO,CAAC,YAAY,CAAC;iBACrB,QAAQ,CAAC,gDAAgD,CAAC;SAC9D,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,OAAO,CAAC,gBAAgB,CAAC;iBACzB,QAAQ,CAAC,+CAA+C,CAAC;SAC7D,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,qFAAqF,CACtF;IACH,EAAE,EAAE,GAAG,CAAC,WAAW;IACnB,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3B,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,mBAAmB,EAAE,CAAC;SACnB,MAAM,EAAE;SACR,QAAQ,CACP,8FAA8F,CAC/F;IACH,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SAC5D,QAAQ,CACP,yMAAyM,CAC1M;IACH,YAAY,EAAE,CAAC,CAAC,GAAG;SAChB,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CACpE,EACD,EAAE,mBAAmB,EAAE,uCAAuC,EAAE,CACjE,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema, PublicIdSchemasOf } from "../ids.js";
3
+ export declare const makeUpdateEnvironmentContract: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId>) => {
4
+ readonly description: "Update an environment owned by the caller's team and return it in the environment.get shape. Omitted fields remain unchanged.";
5
+ readonly input: z.ZodObject<{
6
+ environmentId: PublicIdSchema;
7
+ name: z.ZodOptional<z.ZodString>;
8
+ runConcurrencyLimit: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ readonly kind: "write";
11
+ readonly name: "environment.update";
12
+ readonly output: z.ZodObject<{
13
+ alias: z.ZodOptional<z.ZodString>;
14
+ flowCodeBranch: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
15
+ lastSyncedCommitHash: z.ZodString;
16
+ name: z.ZodString;
17
+ syncStatus: z.ZodLiteral<"reconciled">;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ name: z.ZodString;
20
+ syncStatus: z.ZodLiteral<"not-reconciled">;
21
+ }, z.core.$strip>], "syncStatus">>;
22
+ id: EnvironmentId;
23
+ kind: z.ZodEnum<{
24
+ static: "static";
25
+ preview: "preview";
26
+ }>;
27
+ name: z.ZodString;
28
+ runConcurrencyLimit: z.ZodString;
29
+ status: z.ZodEnum<{
30
+ blocked: "blocked";
31
+ "needs-investigation": "needs-investigation";
32
+ ready: "ready";
33
+ running: "running";
34
+ }>;
35
+ terminatedAt: z.ZodOptional<z.ZodISODateTime>;
36
+ url: z.ZodURL;
37
+ }, z.core.$strip>;
38
+ };
39
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/v1/environment/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAInE,eAAO,MAAM,6BAA6B,GACxC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAE5B,KAAK,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDrD,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ import { makeEnvironmentResourceSchema } from "./resource.js";
3
+ export const makeUpdateEnvironmentContract = (ids) => {
4
+ const nameSchema = z
5
+ .string()
6
+ .trim()
7
+ .min(1)
8
+ .max(255)
9
+ .describe("New display name. Must be unique within the team.");
10
+ const runConcurrencyLimitSchema = z
11
+ .string()
12
+ .trim()
13
+ .min(1)
14
+ .max(255)
15
+ .describe('New run concurrency limit: a whole number, "unlimited", or a concurrency expression. The server validates the expression.');
16
+ // A refined object rather than a union of "one field is required" branches:
17
+ // a union converts to `anyOf`, which has no flat property set for the CLI to
18
+ // derive flags from. Compare makeUpdateIssueContract, which expresses the
19
+ // same "at least one of" rule this way.
20
+ const input = z
21
+ .object({
22
+ environmentId: ids.environmentRef,
23
+ name: nameSchema.optional(),
24
+ runConcurrencyLimit: runConcurrencyLimitSchema.optional(),
25
+ })
26
+ .refine((update) => update.name !== undefined || update.runConcurrencyLimit !== undefined, {
27
+ message: "At least one of name or runConcurrencyLimit is required.",
28
+ });
29
+ const output = makeEnvironmentResourceSchema(ids);
30
+ return {
31
+ description: "Update an environment owned by the caller's team and return it in the environment.get shape. Omitted fields remain unchanged.",
32
+ input,
33
+ kind: "write",
34
+ name: "environment.update",
35
+ output,
36
+ };
37
+ };
38
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/v1/environment/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAK3C,GAAoD,EACpD,EAAE;IACF,MAAM,UAAU,GAAG,CAAC;SACjB,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,mDAAmD,CAAC,CAAC;IACjE,MAAM,yBAAyB,GAAG,CAAC;SAChC,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,2HAA2H,CAC5H,CAAC;IACJ,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,wCAAwC;IACxC,MAAM,KAAK,GAAG,CAAC;SACZ,MAAM,CAAC;QACN,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC3B,mBAAmB,EAAE,yBAAyB,CAAC,QAAQ,EAAE;KAC1D,CAAC;SACD,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EACvE;QACE,OAAO,EAAE,0DAA0D;KACpE,CACF,CAAC;IACJ,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO;QACL,WAAW,EACT,+HAA+H;QACjI,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -17,6 +17,10 @@ export declare const makeListFlowsContract: <FlowId extends PublicIdSchema>(ids:
17
17
  flowId: FlowId;
18
18
  name: z.ZodString;
19
19
  path: z.ZodString;
20
+ readiness: z.ZodEnum<{
21
+ draft: "draft";
22
+ active: "active";
23
+ }>;
20
24
  tags: z.ZodArray<z.ZodString>;
21
25
  url: z.ZodURL;
22
26
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,cAAc,EAAE,KAAK;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;CA4CA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,cAAc,EAAE,KAAK;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;;;;;CA+CA,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { resource } from "../resource.js";
3
+ import { flowReadinessSchema } from "./readiness.js";
3
4
  export const makeListFlowsContract = (ids) => {
4
5
  const input = z.object({
5
6
  environmentId: ids.environmentRef,
@@ -19,6 +20,7 @@ export const makeListFlowsContract = (ids) => {
19
20
  path: z
20
21
  .string()
21
22
  .describe("The flow file path, relative to the repo."),
23
+ readiness: flowReadinessSchema.describe("Whether the flow is a draft. Set it with flow.update."),
22
24
  tags: z.array(z.string()),
23
25
  }, {
24
26
  urlFieldDescription: "Absolute URL of the flow page in its environment.",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAgC,GAGpE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,aAAa,EAAE,CAAC;aACb,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,qCAAqC,CAAC;KACnD,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC;SACtB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC7D,QAAQ,CAAC,8DAA8D,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,QAAQ,CACN;YACE,eAAe;YACf,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,2CAA2C,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1B,EACD;YACE,mBAAmB,EACjB,mDAAmD;SACtD,CACF,CACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,mEAAmE;QACrE,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAgC,GAGpE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,aAAa,EAAE,CAAC;aACb,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,qCAAqC,CAAC;KACnD,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC;SACtB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC7D,QAAQ,CAAC,8DAA8D,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,QAAQ,CACN;YACE,eAAe;YACf,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,2CAA2C,CAAC;YACxD,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CACrC,uDAAuD,CACxD;YACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1B,EACD;YACE,mBAAmB,EACjB,mDAAmD;SACtD,CACF,CACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,mEAAmE;QACrE,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * A flow's readiness. Draft flows do not run in triggered suites.
4
+ *
5
+ * Readiness is not the flow status from `run.get`, which reports how a flow
6
+ * executed in one run.
7
+ */
8
+ export declare const flowReadinessSchema: z.ZodEnum<{
9
+ draft: "draft";
10
+ active: "active";
11
+ }>;
12
+ //# sourceMappingURL=readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/v1/flow/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAIH,eAAO,MAAM,mBAAmB;;;EAA8B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * A flow's readiness. Draft flows do not run in triggered suites.
4
+ *
5
+ * Readiness is not the flow status from `run.get`, which reports how a flow
6
+ * executed in one run.
7
+ */
8
+ // The app names this concept "readiness" and offers the same two values. The
9
+ // richer statuses it shows (bug, maintenance) are derived per environment from
10
+ // open issues, so they are not settable.
11
+ export const flowReadinessSchema = z.enum(["draft", "active"]);
12
+ //# sourceMappingURL=readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/v1/flow/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,6EAA6E;AAC7E,+EAA+E;AAC/E,yCAAyC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeUpdateFlowContract: <FlowId extends PublicIdSchema>(ids: {
4
+ flow: FlowId;
5
+ }) => {
6
+ readonly description: "Move a flow between draft and active readiness. The other statuses shown in the app are derived and cannot be set.";
7
+ readonly input: z.ZodObject<{
8
+ flowId: FlowId;
9
+ readiness: z.ZodEnum<{
10
+ draft: "draft";
11
+ active: "active";
12
+ }>;
13
+ }, z.core.$strip>;
14
+ readonly kind: "write";
15
+ readonly name: "flow.update";
16
+ readonly output: z.ZodObject<{
17
+ flow: z.ZodObject<{
18
+ flowId: FlowId;
19
+ name: z.ZodString;
20
+ readiness: z.ZodEnum<{
21
+ draft: "draft";
22
+ active: "active";
23
+ }>;
24
+ url: z.ZodURL;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>;
27
+ };
28
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/v1/flow/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,cAAc,EAAE,KAAK;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;;;;;CAmCA,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ import { resource } from "../resource.js";
3
+ import { flowReadinessSchema } from "./readiness.js";
4
+ export const makeUpdateFlowContract = (ids) => {
5
+ const input = z.object({
6
+ flowId: ids.flow,
7
+ readiness: flowReadinessSchema.describe("The readiness to set. Draft flows do not run in triggered suites."),
8
+ });
9
+ const output = z.object({
10
+ flow: resource({
11
+ flowId: ids.flow,
12
+ name: z.string(),
13
+ readiness: flowReadinessSchema.describe("The flow readiness after the update."),
14
+ }, {
15
+ urlFieldDescription: "Absolute URL of the flow page.",
16
+ }),
17
+ });
18
+ return {
19
+ description: "Move a flow between draft and active readiness. The other statuses shown in the app are derived and cannot be set.",
20
+ input,
21
+ kind: "write",
22
+ name: "flow.update",
23
+ output,
24
+ };
25
+ };
26
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/v1/flow/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAgC,GAErE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CACrC,mEAAmE,CACpE;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,QAAQ,CACZ;YACE,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CACrC,sCAAsC,CACvC;SACF,EACD;YACE,mBAAmB,EAAE,gCAAgC;SACtD,CACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,oHAAoH;QACtH,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}