@gonovus-ai/spec-flow-cli 0.4.0 → 0.6.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 (67) hide show
  1. package/README.md +190 -28
  2. package/dist/bin.js +6 -50
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.js +126 -397
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/work-item-output.d.ts +390 -0
  8. package/dist/commands/work-item-output.js +36 -0
  9. package/dist/commands/work-item-output.js.map +1 -0
  10. package/dist/custom-field-color-commands.d.ts +7 -0
  11. package/dist/custom-field-color-commands.js +22 -0
  12. package/dist/custom-field-color-commands.js.map +1 -0
  13. package/dist/github-connection-commands.js +23 -3
  14. package/dist/github-connection-commands.js.map +1 -1
  15. package/dist/http-origin.js +3 -0
  16. package/dist/http-origin.js.map +1 -1
  17. package/dist/index.js +50 -28
  18. package/dist/index.js.map +1 -1
  19. package/dist/input/text-source.d.ts +9 -0
  20. package/dist/input/text-source.js +74 -0
  21. package/dist/input/text-source.js.map +1 -0
  22. package/dist/product-map-commands.d.ts +2 -0
  23. package/dist/product-map-commands.js +2 -0
  24. package/dist/product-map-commands.js.map +1 -1
  25. package/dist/program.d.ts +3 -0
  26. package/dist/program.js +19 -0
  27. package/dist/program.js.map +1 -0
  28. package/dist/project-administration-commands.d.ts +3 -0
  29. package/dist/project-administration-commands.js +31 -0
  30. package/dist/project-administration-commands.js.map +1 -0
  31. package/dist/resource-command-runtime.d.ts +16 -0
  32. package/dist/resource-command-runtime.js +2 -0
  33. package/dist/resource-command-runtime.js.map +1 -0
  34. package/dist/runtime/errors.d.ts +28 -0
  35. package/dist/runtime/errors.js +133 -0
  36. package/dist/runtime/errors.js.map +1 -0
  37. package/dist/runtime/execute.d.ts +23 -0
  38. package/dist/runtime/execute.js +25 -0
  39. package/dist/runtime/execute.js.map +1 -0
  40. package/dist/runtime/identity.d.ts +183 -0
  41. package/dist/runtime/identity.js +17 -0
  42. package/dist/runtime/identity.js.map +1 -0
  43. package/dist/runtime/output.d.ts +3 -0
  44. package/dist/runtime/output.js +13 -0
  45. package/dist/runtime/output.js.map +1 -0
  46. package/dist/runtime/session.d.ts +16 -0
  47. package/dist/runtime/session.js +123 -0
  48. package/dist/runtime/session.js.map +1 -0
  49. package/dist/screen-image-commands.d.ts +10 -0
  50. package/dist/screen-image-commands.js +77 -0
  51. package/dist/screen-image-commands.js.map +1 -0
  52. package/dist/spec-discussion-commands.d.ts +3 -0
  53. package/dist/spec-discussion-commands.js +56 -0
  54. package/dist/spec-discussion-commands.js.map +1 -0
  55. package/dist/spec-owner-commands.d.ts +3 -0
  56. package/dist/spec-owner-commands.js +37 -0
  57. package/dist/spec-owner-commands.js.map +1 -0
  58. package/dist/work-item-asset-commands.d.ts +13 -0
  59. package/dist/work-item-asset-commands.js +10 -9
  60. package/dist/work-item-asset-commands.js.map +1 -1
  61. package/dist/work-item-query-commands.d.ts +3 -0
  62. package/dist/work-item-query-commands.js +29 -0
  63. package/dist/work-item-query-commands.js.map +1 -0
  64. package/package.json +1 -1
  65. package/dist/work-item-time-entry-input.d.ts +0 -4
  66. package/dist/work-item-time-entry-input.js +0 -27
  67. package/dist/work-item-time-entry-input.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { Command, CommanderError, Option } from "commander";
1
+ import { CommanderError, Option } from "commander";
2
2
  import openBrowser from "open";
3
3
  import createClient from "openapi-fetch";
4
4
  import { z } from "zod";
5
- import { addAuthenticationCommandTopology } from "./authentication-command-topology.js";
5
+ import { formatResourceDiagnostic, runCli as runResourceCli } from "./cli.js";
6
6
  import { cliClientIdentityHeaders, detectCliClientIdentity, } from "./client-identity.js";
7
7
  import { createCredentialStore, } from "./credential-store.js";
8
8
  import { parseHttpOrigin, unresolvedSpecFlowApiOrigin, } from "./http-origin.js";
9
9
  import { assertSupportedNodeVersion } from "./node-version.js";
10
10
  import { SafeCliError } from "./safe-cli-error.js";
11
- import { specFlowCliVersion, specFlowCliUserAgent, withSpecFlowCliUserAgent, } from "./user-agent.js";
11
+ import { specFlowCliUserAgent, withSpecFlowCliUserAgent, } from "./user-agent.js";
12
12
  export { assertSupportedNodeVersion } from "./node-version.js";
13
13
  const deviceAuthorizationSchema = z
14
14
  .object({
@@ -78,9 +78,32 @@ const defaultDependencies = {
78
78
  export async function runSpecFlowCli(argv, dependencies = defaultDependencies) {
79
79
  try {
80
80
  assertSupportedNodeVersion(dependencies.nodeVersion);
81
- const program = createProgram(dependencies);
82
- await program.parseAsync([...argv]);
83
- return 0;
81
+ const args = argv.slice(2);
82
+ const stores = new Map();
83
+ let globalOptions = () => ({});
84
+ const store = (apiKeyId) => {
85
+ const slot = apiKeyId ?? "session";
86
+ let pending = stores.get(slot);
87
+ if (pending === undefined) {
88
+ const options = {
89
+ allowFileFallback: globalOptions().allowFileFallback === true,
90
+ serverOrigin: resolveServerOrigin(unresolvedSpecFlowApiOrigin(globalOptions().server, dependencies.environment?.SPEC_FLOW_API_URL)),
91
+ warning: (message) => { dependencies.stderr(formatResourceDiagnostic(message).trimEnd()); },
92
+ };
93
+ pending = apiKeyId === undefined
94
+ ? dependencies.createCredentialStore(options)
95
+ : createCredentialStore({ ...options, apiKeyId });
96
+ stores.set(slot, pending);
97
+ }
98
+ return pending;
99
+ };
100
+ return await runResourceCli(args, {
101
+ environment: dependencies.environment ?? {},
102
+ credentialStore: { read: async () => (await store()).get(), readApiKey: async (id) => (await store(id)).get(), writeApiKey: async (id, value) => (await store(id)).set(value), deleteApiKey: async (id) => (await store(id)).delete() },
103
+ fetch: request => dependencies.fetch(request), open: dependencies.open,
104
+ stdout: value => { dependencies.stdout(value.trimEnd()); }, stderr: value => { dependencies.stderr(value.trimEnd()); },
105
+ registerAuthentication: (program, authentication) => { globalOptions = () => program.opts(); registerAuthenticationActions(program, authentication, dependencies); },
106
+ });
84
107
  }
85
108
  catch (error) {
86
109
  if (error instanceof CommanderError) {
@@ -90,36 +113,35 @@ export async function runSpecFlowCli(argv, dependencies = defaultDependencies) {
90
113
  return 1;
91
114
  }
92
115
  }
93
- function createProgram(dependencies) {
94
- const program = new Command()
95
- .name("specflow")
96
- .description("Access SpecFlow without exposing CLI credentials")
97
- .version(specFlowCliVersion)
98
- .option("--server <url>", "SpecFlow server origin", unresolvedSpecFlowApiOrigin(undefined, dependencies.environment?.SPEC_FLOW_API_URL))
99
- .exitOverride()
100
- .configureOutput({
101
- writeErr: (value) => {
102
- dependencies.stderr(value.trimEnd());
103
- },
104
- writeOut: (value) => {
105
- dependencies.stdout(value.trimEnd());
106
- },
107
- });
108
- const authentication = addAuthenticationCommandTopology(program);
116
+ function registerAuthenticationActions(program, authentication, dependencies) {
109
117
  addCredentialOption(authentication.login)
110
118
  .addOption(new Option("--grants <json>", "Explicit grants for a restricted legacy CLI Session").hideHelp())
111
- .action(async (options) => login(program, options, dependencies));
119
+ .action(async (options) => {
120
+ requireSessionCredentialSelection(program, dependencies);
121
+ await login(program, options, dependencies);
122
+ });
112
123
  addCredentialOption(authentication.status)
113
- .action(async (options) => status(program, options, dependencies));
124
+ .action(async (options) => {
125
+ requireSessionCredentialSelection(program, dependencies);
126
+ await status(program, options, dependencies);
127
+ });
114
128
  addCredentialOption(authentication.logout)
115
- .action(async (options) => logout(program, options, dependencies));
116
- return program;
129
+ .action(async (options) => {
130
+ requireSessionCredentialSelection(program, dependencies);
131
+ await logout(program, options, dependencies);
132
+ });
133
+ }
134
+ function requireSessionCredentialSelection(program, dependencies) {
135
+ const environment = dependencies.environment;
136
+ if (program.opts().apiKeyId !== undefined || environment?.SPEC_FLOW_API_KEY !== undefined || environment?.SPEC_FLOW_WORKSPACE_READ_TOKEN !== undefined || environment?.SPEC_FLOW_PROJECT_READ_TOKEN !== undefined) {
137
+ throw new SafeCliError("These commands manage CLI Sessions; clear explicit API Key/read-only Token selections. Use auth whoami for the selected User credential.");
138
+ }
117
139
  }
118
140
  function addCredentialOption(command) {
119
141
  return command.option("--allow-file-fallback", "use a warned owner-only local credential file if the system store is unavailable");
120
142
  }
121
143
  async function login(program, options, dependencies) {
122
- const serverOrigin = resolveServerOrigin(program.opts().server);
144
+ const serverOrigin = resolveServerOrigin(unresolvedSpecFlowApiOrigin(program.opts().server, dependencies.environment?.SPEC_FLOW_API_URL));
123
145
  const authorization = deviceAuthorizationSchema.parse(await requestJson(dependencies.fetch, `${serverOrigin}/v1/auth/device/code`, {
124
146
  body: JSON.stringify({ client_id: "specflow-cli", scope: options.grants === undefined ? "user" : `grants:${encodeURIComponent(JSON.stringify(JSON.parse(options.grants)))}` }),
125
147
  headers: { "content-type": "application/json" },
@@ -211,7 +233,7 @@ function createCliApiClient(serverOrigin, fetch) {
211
233
  });
212
234
  }
213
235
  async function currentCredential(program, options, dependencies) {
214
- const serverOrigin = resolveServerOrigin(program.opts().server);
236
+ const serverOrigin = resolveServerOrigin(unresolvedSpecFlowApiOrigin(program.opts().server, dependencies.environment?.SPEC_FLOW_API_URL));
215
237
  const store = await resolveCredentialStore(serverOrigin, options, dependencies);
216
238
  const credential = await store.get();
217
239
  if (credential === null) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Commander must not silently overwrite an earlier source selection. */
2
+ export declare function singleDescriptionSource(value: string, previous?: string): string;
3
+ export interface TextSource {
4
+ readonly description?: string | undefined;
5
+ readonly descriptionFile?: string | undefined;
6
+ readonly clearDescription?: boolean | undefined;
7
+ }
8
+ /** Read only an explicitly selected source, preserving its bytes as UTF-8 text. */
9
+ export declare function readDescription(source: TextSource): Promise<string | null | undefined>;
@@ -0,0 +1,74 @@
1
+ import { CommanderError, InvalidArgumentError } from "commander";
2
+ import { constants } from "node:fs";
3
+ import { open, stat } from "node:fs/promises";
4
+ const maximumBytes = 80_000;
5
+ /** Commander must not silently overwrite an earlier source selection. */
6
+ export function singleDescriptionSource(value, previous) {
7
+ if (previous !== undefined)
8
+ throw new CommanderError(2, "specflow.duplicateDescriptionSource", "Choose one description source; repeated description options are not allowed");
9
+ return value;
10
+ }
11
+ /** Read only an explicitly selected source, preserving its bytes as UTF-8 text. */
12
+ export async function readDescription(source) {
13
+ if (Number(source.description !== undefined) + Number(source.descriptionFile !== undefined) + Number(source.clearDescription === true) > 1) {
14
+ throw new InvalidArgumentError("Choose one description source: inline, file/stdin, or clear");
15
+ }
16
+ if (source.clearDescription === true)
17
+ return null;
18
+ let text = source.description;
19
+ if (source.descriptionFile !== undefined) {
20
+ try {
21
+ let bytes;
22
+ if (source.descriptionFile === "-") {
23
+ if (process.stdin.isTTY)
24
+ throw new Error("tty");
25
+ const chunks = [];
26
+ let length = 0;
27
+ for await (const chunk of process.stdin) {
28
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk));
29
+ length += buffer.length;
30
+ if (length > maximumBytes)
31
+ throw new Error("size");
32
+ chunks.push(buffer);
33
+ }
34
+ bytes = Buffer.concat(chunks);
35
+ }
36
+ else {
37
+ const before = await stat(source.descriptionFile);
38
+ if (!before.isFile() || before.size > maximumBytes)
39
+ throw new Error("file");
40
+ // NONBLOCK prevents a replacement FIFO from blocking open; fstat and inode
41
+ // comparison reject replacements between the path check and opening.
42
+ const file = await open(source.descriptionFile, constants.O_RDONLY | constants.O_NONBLOCK);
43
+ try {
44
+ const after = await file.stat();
45
+ if (!after.isFile() || after.dev !== before.dev || after.ino !== before.ino || after.size > maximumBytes)
46
+ throw new Error("file");
47
+ const buffer = Buffer.alloc(maximumBytes + 1);
48
+ let length = 0;
49
+ while (length < buffer.length) {
50
+ const result = await file.read(buffer, length, buffer.length - length, length);
51
+ if (result.bytesRead === 0)
52
+ break;
53
+ length += result.bytesRead;
54
+ }
55
+ if (length > maximumBytes)
56
+ throw new Error("size");
57
+ bytes = buffer.subarray(0, length);
58
+ }
59
+ finally {
60
+ await file.close();
61
+ }
62
+ }
63
+ text = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes);
64
+ }
65
+ catch {
66
+ throw new InvalidArgumentError("Description source must be a regular UTF-8 file of at most 80000 bytes; for stdin use a pipe with --description-file - (no TTY)");
67
+ }
68
+ }
69
+ if (text !== undefined && (text.trim().length === 0 || text.trim().length > 20_000)) {
70
+ throw new InvalidArgumentError("Description must contain 1 to 20000 UTF-16 code units after trimming");
71
+ }
72
+ return text;
73
+ }
74
+ //# sourceMappingURL=text-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-source.js","sourceRoot":"","sources":["../../src/input/text-source.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { type Command } from "commander";
2
2
  import type createClient from "openapi-fetch";
3
3
  import type { paths } from "@spec-flow/api-client";
4
+ import type { CliDependencies } from "./cli.js";
4
5
  type Client = ReturnType<typeof createClient<paths>>;
5
6
  interface Runtime {
7
+ readonly dependencies: CliDependencies;
6
8
  readonly run: (request: (client: Client) => Promise<{
7
9
  readonly data?: unknown;
8
10
  readonly error?: unknown;
@@ -1,5 +1,6 @@
1
1
  import { InvalidArgumentError } from "commander";
2
2
  import { z } from "zod";
3
+ import { registerScreenImageCommands } from "./screen-image-commands.js";
3
4
  const json = (value) => { try {
4
5
  return JSON.parse(value);
5
6
  }
@@ -11,6 +12,7 @@ export function registerProductMapCommands(program, runtime) {
11
12
  const map = program.command("map").description("Read and organize the shared Workspace product map");
12
13
  map.command("read").requiredOption("--workspace-id <id>").action(async (o) => run(c => c.GET("/v1/workspaces/{workspaceId}/product-map", { params: { path: o } })));
13
14
  const screen = map.command("screen");
15
+ registerScreenImageCommands(screen, runtime);
14
16
  screen.command("list").requiredOption("--workspace-id <id>").action(async (o) => run(c => c.GET("/v1/workspaces/{workspaceId}/screens", { params: { path: o } })));
15
17
  screen.command("read").requiredOption("--workspace-id <id>").requiredOption("--screen-id <id>").action(async (o) => run(c => c.GET("/v1/workspaces/{workspaceId}/screens/{screenId}", { params: { path: o } })));
16
18
  screen.command("create").requiredOption("--workspace-id <id>").requiredOption("--name <name>").requiredOption("--idempotency-key <key>").action(async (o) => run(c => c.POST("/v1/workspaces/{workspaceId}/screens", { params: { path: o, header: { "idempotency-key": o.idempotencyKey } }, body: { name: o.name } }), true));
@@ -1 +1 @@
1
- {"version":3,"file":"product-map-commands.js","sourceRoot":"","sources":["../src/product-map-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-map-commands.js","sourceRoot":"","sources":["../src/product-map-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ import type { CliDependencies } from "./cli.js";
3
+ export declare function createProgram(dependencies: Pick<CliDependencies, "stdout">): Command;
@@ -0,0 +1,19 @@
1
+ import { Command, InvalidArgumentError } from "commander";
2
+ import { specFlowCliVersion } from "./user-agent.js";
3
+ export function createProgram(dependencies) {
4
+ return new Command()
5
+ .name("specflow")
6
+ .version(specFlowCliVersion)
7
+ .description("Read and govern SpecFlow through supported commands")
8
+ .option("--allow-file-fallback", "use a warned owner-only local credential file if the system store is unavailable")
9
+ .option("--server <url>", "SpecFlow server origin")
10
+ .option("--output <mode>", "JSON output: full or summary (supported Work Item commands only)", (value) => { if (value !== "full" && value !== "summary")
11
+ throw new InvalidArgumentError("Output must be full or summary"); return value; })
12
+ .option("--api-key-id <id>", "Use an origin-scoped User API Key from the credential store")
13
+ .exitOverride()
14
+ .configureOutput({
15
+ writeErr: () => undefined,
16
+ writeOut: dependencies.stdout,
17
+ });
18
+ }
19
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,YAA6C;IACzE,OAAO,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,UAAU,CAAC;SAChB,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CACL,uBAAuB,EACvB,kFAAkF,CACnF;SACA,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,kEAAkE,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SAClP,MAAM,CAAC,mBAAmB,EAAE,6DAA6D,CAAC;SAC1F,YAAY,EAAE;SACd,eAAe,CAAC;QACf,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;QACzB,QAAQ,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from "commander";
2
+ import type { ResourceCommandRuntime } from "./resource-command-runtime.js";
3
+ export declare function registerProjectAdministrationCommands(project: Command, workspace: Command, runtime: ResourceCommandRuntime): void;
@@ -0,0 +1,31 @@
1
+ import { InvalidArgumentError } from "commander";
2
+ import { z } from "zod";
3
+ export function registerProjectAdministrationCommands(project, workspace, runtime) {
4
+ project.command("rename").requiredOption("--project-id <id>")
5
+ .requiredOption("--name <name>", "Project display name", (value) => {
6
+ const parsed = z.string().trim().min(1).max(120).safeParse(value);
7
+ if (!parsed.success)
8
+ throw new InvalidArgumentError("Project name must contain 1 to 120 characters");
9
+ return parsed.data;
10
+ })
11
+ .requiredOption("--expected-version <version>", "Observed Project version", runtime.parseOpaqueVersion)
12
+ .requiredOption("--idempotency-key <key>", "Retain this UUID for the same intent", (value) => {
13
+ if (!z.uuid().safeParse(value).success)
14
+ throw new InvalidArgumentError("Command identity must be a UUID");
15
+ return value;
16
+ }).option("--json", "Emit structured JSON (the default)")
17
+ .action(async (options) => {
18
+ runtime.setExitCode(await runtime.run(client => client.PATCH("/v1/projects/{projectId}", {
19
+ params: { path: { projectId: options.projectId }, header: { "if-match": options.expectedVersion, "idempotency-key": options.idempotencyKey } }, body: { name: options.name },
20
+ }), { rejectWorkspaceReadToken: true, retryTransportOnce: true }));
21
+ });
22
+ const paged = (command) => command.option("--cursor <cursor>", "Opaque nextCursor from the previous page")
23
+ .option("--limit <limit>", "Maximum events, 1 through 100", runtime.parseLimit, 50).option("--json", "Emit structured JSON (the default)");
24
+ paged(project.command("audit-log").requiredOption("--project-id <id>")).action(async (options) => {
25
+ runtime.setExitCode(await runtime.run(client => client.GET("/v1/projects/{projectId}/audit-events", { params: { path: { projectId: options.projectId }, query: { limit: options.limit, ...(options.cursor === undefined ? {} : { cursor: options.cursor }) } } }), { rejectWorkspaceReadToken: true }));
26
+ });
27
+ paged(workspace.command("audit-log").requiredOption("--workspace-id <id>")).action(async (options) => {
28
+ runtime.setExitCode(await runtime.run(client => client.GET("/v1/workspaces/{workspaceId}/audit-events", { params: { path: { workspaceId: options.workspaceId }, query: { limit: options.limit, ...(options.cursor === undefined ? {} : { cursor: options.cursor }) } } }), { rejectWorkspaceReadToken: true }));
29
+ });
30
+ }
31
+ //# sourceMappingURL=project-administration-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-administration-commands.js","sourceRoot":"","sources":["../src/project-administration-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type createClient from "openapi-fetch";
2
+ import type { paths } from "@spec-flow/api-client";
3
+ export interface ResourceCommandRuntime {
4
+ readonly run: (request: (client: ReturnType<typeof createClient<paths>>) => Promise<{
5
+ readonly data?: unknown;
6
+ readonly error?: unknown;
7
+ readonly response: Response;
8
+ }>, options?: {
9
+ readonly rejectWorkspaceReadToken?: boolean;
10
+ readonly retryTransportOnce?: boolean;
11
+ readonly ambiguousOutcomeMessage?: string;
12
+ }) => Promise<number>;
13
+ readonly setExitCode: (value: number) => void;
14
+ readonly parseOpaqueVersion: (value: string) => string;
15
+ readonly parseLimit: (value: string) => number;
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resource-command-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-command-runtime.js","sourceRoot":"","sources":["../src/resource-command-runtime.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { CliDependencies } from "../cli.js";
2
+ export declare function mapHttpFailure(response: Response, payload: unknown): SkillError;
3
+ type SkillErrorReason = "Authentication Failed" | "Invalid Operation" | "Permission Denied" | "Project Not Accessible" | "Resource Changed" | "Resource Not Found" | "Temporary Failure";
4
+ interface SkillErrorDiagnostic {
5
+ readonly column?: number;
6
+ readonly line?: number;
7
+ readonly message: string;
8
+ readonly reason: string;
9
+ }
10
+ export interface SkillError {
11
+ readonly requestId?: string;
12
+ readonly code?: string;
13
+ readonly status?: number;
14
+ readonly issues?: readonly {
15
+ readonly location: string;
16
+ readonly path: readonly (string | number)[];
17
+ readonly rule: string;
18
+ readonly message: string;
19
+ }[];
20
+ readonly diagnostics?: readonly SkillErrorDiagnostic[];
21
+ readonly message: string;
22
+ readonly reason: SkillErrorReason;
23
+ readonly retryAfter?: string;
24
+ readonly retryable: boolean;
25
+ }
26
+ export declare function skillErrorExitCode(error: SkillError): number;
27
+ export declare function writeSkillError(dependencies: CliDependencies, error: SkillError): void;
28
+ export {};
@@ -0,0 +1,133 @@
1
+ import { z } from "zod";
2
+ export function mapHttpFailure(response, payload) {
3
+ const failure = classifyHttpFailure(response, payload);
4
+ const issues = z.array(z.object({ location: z.enum(["body", "query", "path", "headers", "tool"]), path: z.array(z.union([z.string().max(100), z.number()])), rule: z.string().max(100), message: z.string().max(500) })).max(20).safeParse(z.object({ issues: z.unknown() }).safeParse(payload).data?.issues);
5
+ const code = readServerCode(payload);
6
+ const requestId = response.headers.get("x-request-id");
7
+ return { ...failure, ...(requestId !== null && /^[A-Za-z0-9._:-]{1,100}$/u.test(requestId) ? { requestId } : {}), status: response.status, ...(code !== null && /^[A-Z][A-Z0-9_]{0,79}$/u.test(code) ? { code } : {}), ...(issues.success ? { issues: issues.data } : {}) };
8
+ }
9
+ function classifyHttpFailure(response, payload) {
10
+ const { status } = response;
11
+ const serverMessage = readServerMessage(payload);
12
+ const serverCode = readServerCode(payload);
13
+ if (status === 404 && serverCode === "IDENTITY_NOT_SUPPORTED") {
14
+ return { message: serverMessage ?? "This server does not support current identity", reason: "Invalid Operation", retryable: false };
15
+ }
16
+ if (status === 401) {
17
+ return {
18
+ message: serverMessage ?? "Workspace read-only Token is invalid, expired, or revoked",
19
+ reason: "Authentication Failed",
20
+ retryable: false,
21
+ };
22
+ }
23
+ if (status === 403) {
24
+ return {
25
+ message: serverMessage ?? "Workspace read-only Token does not permit this operation",
26
+ reason: "Permission Denied",
27
+ retryable: false,
28
+ };
29
+ }
30
+ if (status === 404) {
31
+ if (serverCode === "PROJECT_NOT_ACCESSIBLE") {
32
+ return {
33
+ message: serverMessage ?? "The Project is not accessible",
34
+ reason: "Project Not Accessible",
35
+ retryable: false,
36
+ };
37
+ }
38
+ return {
39
+ message: serverMessage ?? "The requested Project resource was not found",
40
+ reason: "Resource Not Found",
41
+ retryable: false,
42
+ };
43
+ }
44
+ if (status === 409 && serverCode === "RESOURCE_CHANGED") {
45
+ return {
46
+ message: serverMessage ?? "The Working Draft changed after the Proposal baseline",
47
+ reason: "Resource Changed",
48
+ retryable: false,
49
+ };
50
+ }
51
+ if (status === 400 || status === 409 || status === 413 || status === 422 || status === 428) {
52
+ const diagnostics = readServerDiagnostics(payload);
53
+ return {
54
+ ...(diagnostics === undefined ? {} : { diagnostics }),
55
+ message: serverMessage ?? "The requested operation is invalid",
56
+ reason: "Invalid Operation",
57
+ retryable: false,
58
+ };
59
+ }
60
+ if (status === 412) {
61
+ return {
62
+ message: serverMessage ?? "The resource changed after it was read",
63
+ reason: "Resource Changed",
64
+ retryable: false,
65
+ };
66
+ }
67
+ if (status === 429) {
68
+ const retryAfter = response.headers.get("retry-after");
69
+ return {
70
+ message: serverMessage ?? "SpecFlow is temporarily throttling this client",
71
+ reason: "Temporary Failure",
72
+ ...(retryAfter === null ? {} : { retryAfter }),
73
+ retryable: true,
74
+ };
75
+ }
76
+ return {
77
+ message: serverMessage ?? "SpecFlow is temporarily unavailable",
78
+ reason: "Temporary Failure",
79
+ retryable: status >= 500,
80
+ };
81
+ }
82
+ function readServerMessage(payload) {
83
+ return typeof payload === "object" &&
84
+ payload !== null &&
85
+ "message" in payload &&
86
+ typeof payload.message === "string"
87
+ ? payload.message
88
+ : null;
89
+ }
90
+ function readServerCode(payload) {
91
+ return typeof payload === "object" &&
92
+ payload !== null &&
93
+ "code" in payload &&
94
+ typeof payload.code === "string"
95
+ ? payload.code
96
+ : null;
97
+ }
98
+ function readServerDiagnostics(payload) {
99
+ if (typeof payload !== "object" ||
100
+ payload === null ||
101
+ !("diagnostics" in payload) ||
102
+ !Array.isArray(payload.diagnostics)) {
103
+ return undefined;
104
+ }
105
+ const diagnostics = payload.diagnostics.flatMap((entry) => {
106
+ if (typeof entry !== "object" || entry === null) {
107
+ return [];
108
+ }
109
+ const { column, line, message, reason } = entry;
110
+ if (typeof reason !== "string" || typeof message !== "string") {
111
+ return [];
112
+ }
113
+ return [
114
+ {
115
+ ...(typeof column === "number" ? { column } : {}),
116
+ ...(typeof line === "number" ? { line } : {}),
117
+ message,
118
+ reason,
119
+ },
120
+ ];
121
+ });
122
+ return diagnostics.length === 0 ? undefined : diagnostics;
123
+ }
124
+ export function skillErrorExitCode(error) {
125
+ if (error.reason === "Permission Denied") {
126
+ return 3;
127
+ }
128
+ return error.reason === "Temporary Failure" ? 4 : 2;
129
+ }
130
+ export function writeSkillError(dependencies, error) {
131
+ dependencies.stderr(`${JSON.stringify({ error })}\n`);
132
+ }
133
+ //# sourceMappingURL=errors.js.map