Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions packages/fern-forge/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,6 @@ Primary operation metadata accepts these fields:
| `x-fern-ignore` | Boolean, default `false` | `ignore` | Removes the operation from generated content when true |
| `x-forge-hidden` | Boolean, default `false` | `hidden` | Stores approval state and lowers route-collision priority |
| `x-forge-internal` | Boolean | `internal` | Stores internal visibility metadata |
| `x-forge-globals` | Argument array | `globals` | Stores shared command arguments |
| `x-forge-epilogue` | String | `epilogue` | Stores command or method footer text |
| `x-forge-args` | Method argument array | `args` | Stores method argument configuration |
| `x-forge-params` | Parameter override map | `params` | Stores overrides by parameter name |
Expand All @@ -269,8 +268,7 @@ legacy

## Argument metadata reference

`x-forge-globals` contains arguments. `x-forge-args` contains arguments or
argument groups.
`x-forge-args` contains arguments or argument groups.

### Arguments

Expand Down
1 change: 0 additions & 1 deletion packages/fern-forge/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ test('validates and exposes every known operation-level Forge field', () => {
'x-fern-ignore': false,
'x-forge-hidden': true,
'x-forge-internal': true,
'x-forge-globals': [{ name: 'account-id', type: 'string', required: true, description: 'Account ID' }],
'x-forge-epilogue': 'Additional guidance.',
'x-forge-args': [{ options: [{ name: 'force', type: 'boolean', required: { default: false } }] }],
'x-forge-params': {
Expand Down
1 change: 0 additions & 1 deletion packages/fern-forge/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ function toOperationData(value: ReturnType<typeof projectionSchema>['_output']):
ignore: value['x-fern-ignore'] ?? false,
hidden: value['x-forge-hidden'] ?? false,
...(value['x-forge-internal'] !== undefined ? { internal: value['x-forge-internal'] } : {}),
...(value['x-forge-globals'] !== undefined ? { globals: value['x-forge-globals'] } : {}),
...(value['x-forge-epilogue'] !== undefined ? { epilogue: value['x-forge-epilogue'] } : {}),
...(value['x-forge-args'] !== undefined ? { args: value['x-forge-args'] } : {}),
...(value['x-forge-params'] !== undefined ? { params: value['x-forge-params'] } : {}),
Expand Down
4 changes: 1 addition & 3 deletions packages/fern-forge/schemas/operation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { z } from 'astro/zod';
import { argumentSchema, methodArgumentSchema, paramOverrideSchema } from './arguments.ts';
import { methodArgumentSchema, paramOverrideSchema } from './arguments.ts';
import { nonEmptyStringSchema } from './shared.ts';

/** Availability values accepted by the Forge OpenAPI contract. */
Expand All @@ -24,7 +24,6 @@ export const forgeOperationDataSchema = z
ignore: z.boolean(),
hidden: z.boolean(),
internal: z.boolean().optional(),
globals: z.array(argumentSchema).optional(),
epilogue: z.string().optional(),
args: z.array(methodArgumentSchema).optional(),
params: z.record(z.string(), paramOverrideSchema).optional(),
Expand Down Expand Up @@ -63,7 +62,6 @@ export const operationProjectionFieldsSchema = z.object({
'x-fern-ignore': z.boolean().optional(),
'x-forge-hidden': z.boolean().optional(),
'x-forge-internal': z.boolean().optional(),
'x-forge-globals': z.array(argumentSchema).optional(),
'x-forge-epilogue': z.string().optional(),
'x-forge-args': z.array(methodArgumentSchema).optional(),
'x-forge-params': z.record(z.string(), paramOverrideSchema).optional(),
Expand Down
3 changes: 0 additions & 3 deletions packages/forge/init-from-openapi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ type OperationMetadata = {
status: MethodStatus;
ignore: boolean;
hidden: boolean;
globals?: Schema.arg[];
epilogue?: string;
args?: Schema.methodArg[];
params?: Record<string, Schema.paramOverride>;
Expand Down Expand Up @@ -111,7 +110,6 @@ function parseMetadata(operationId: string, source: Record<string, unknown>, ign
hidden: source['x-forge-hidden'] === true,
};

if (Array.isArray(source['x-forge-globals'])) metadata.globals = source['x-forge-globals'] as Schema.arg[];
if (typeof source['x-forge-epilogue'] === 'string') metadata.epilogue = source['x-forge-epilogue'];
if (Array.isArray(source['x-forge-args'])) metadata.args = source['x-forge-args'] as Schema.methodArg[];
const params = source['x-forge-params'];
Expand Down Expand Up @@ -233,7 +231,6 @@ function toSchemaCommand(
name: commandName,
description,
methods: [...topLevelMethods, ...toMethodGroups(groups, groupInfo)],
globalCliArgs: items.find((item) => item.globals)?.globals ?? [],
hideCommand: visible.every((item) => item.hidden),
};
}
Expand Down
3 changes: 0 additions & 3 deletions packages/forge/overlay-source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ type OperationForgeMetadata = {
'x-forge-hidden': boolean;
/** Explicitly keep this upstream-internal operation in first-party SDKs. */
'x-forge-internal'?: boolean;
'x-forge-globals'?: ExtensionMethods['x-forge-globals'];
'x-forge-epilogue'?: string;
'x-forge-args'?: ExtensionMethods['x-forge-args'];
'x-forge-params'?: ExtensionMethods['x-forge-params'];
Expand Down Expand Up @@ -275,7 +274,6 @@ function toSchemaCommand(
name: commandName,
description: command.description,
methods: [...topLevelMethods, ...groups],
globalCliArgs: methodMetadata.find((m) => m['x-forge-globals'])?.['x-forge-globals'] ?? [],
hideCommand: visibleMethods.every((m) => m['x-forge-hidden']),
};
}
Expand Down Expand Up @@ -389,7 +387,6 @@ function buildOperationForgeMetadata(commands: Record<string, ForgeCommand>): Ma
'x-fern-ignore': method['x-fern-ignore'] ?? false,
'x-forge-hidden': method['x-forge-hidden'] ?? false,
};
if (method['x-forge-globals'] !== undefined) metadata['x-forge-globals'] = method['x-forge-globals'];
if (method['x-forge-internal'] !== undefined) metadata['x-forge-internal'] = method['x-forge-internal'];
if (method['x-forge-epilogue'] !== undefined) metadata['x-forge-epilogue'] = method['x-forge-epilogue'];
if (method['x-forge-args'] !== undefined) metadata['x-forge-args'] = method['x-forge-args'];
Expand Down
1 change: 0 additions & 1 deletion packages/forge/overlay-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export type ForgeExtensions = {
* is fixed, then remove this field from the overlay.
*/
'x-forge-internal'?: boolean;
'x-forge-globals'?: Schema.arg[];
'x-forge-epilogue'?: string;
'x-forge-args'?: Schema.methodArg[];
'x-forge-params'?: Record<string, Schema.paramOverride>;
Expand Down
2 changes: 0 additions & 2 deletions packages/forge/schema/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,6 @@ export namespace Schema {
description: string;
/** Methods in this group */
methods: (method | methodGroup)[];
/** Global CLI arguments for this command */
globalCliArgs: arg[];
/**
* Whether this command family is hidden by default.
*
Expand Down
Loading