contract: discriminator enum 정정 반영해 studio 계약 재생성
design-package d170392이 discriminator 판별 필드를 const에서 단일값
enum으로 바꿨다(wire 의미 동일, openapi-generator 7.18.0의
discriminator+const NPE를 피하려는 정정). vendor된 계약과 생성 타입을
다시 맞춘다. 실질적인 리터럴 타입은 그대로다 — JSDoc 태그만
@constant에서 @enum {string}으로 바뀌었다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d23a18f659
commit
9244f5c15d
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"packageId": "@tech-log/studio-contract",
|
"packageId": "@tech-log/studio-contract",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"digest": "sha256:25ed2e9f5b76bfeacf66e5a84ea8daf05979faa0b54e4980781f02115bbf0627",
|
"digest": "sha256:8ec2170ccdb27bd7ef29b46d732527987cf69d2c9818f7fe1943cb4d12b0dde4",
|
||||||
"sourceRevision": "3e8a164",
|
"sourceRevision": "d170392",
|
||||||
"operationIds": [
|
"operationIds": [
|
||||||
"getStudioSession",
|
"getStudioSession",
|
||||||
"getStudioDashboard",
|
"getStudioDashboard",
|
||||||
|
|||||||
@@ -588,7 +588,7 @@ export interface components {
|
|||||||
relations: components["schemas"]["RelationInput"][];
|
relations: components["schemas"]["RelationInput"][];
|
||||||
};
|
};
|
||||||
CaseInput: components["schemas"]["WorkingCopyInputBase"] & {
|
CaseInput: components["schemas"]["WorkingCopyInputBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
problem: string;
|
problem: string;
|
||||||
conclusion: string;
|
conclusion: string;
|
||||||
@@ -608,7 +608,7 @@ export interface components {
|
|||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
};
|
};
|
||||||
ReferenceInput: components["schemas"]["WorkingCopyInputBase"] & {
|
ReferenceInput: components["schemas"]["WorkingCopyInputBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "REFERENCE";
|
kind: "REFERENCE";
|
||||||
purpose: string;
|
purpose: string;
|
||||||
rules: components["schemas"]["ReferenceRule"][];
|
rules: components["schemas"]["ReferenceRule"][];
|
||||||
@@ -625,7 +625,7 @@ export interface components {
|
|||||||
kind: "REFERENCE";
|
kind: "REFERENCE";
|
||||||
};
|
};
|
||||||
QuestionInput: components["schemas"]["WorkingCopyInputBase"] & {
|
QuestionInput: components["schemas"]["WorkingCopyInputBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
/**
|
/**
|
||||||
* @description Backend Inquiry lifecycle의 축약 view다.
|
* @description Backend Inquiry lifecycle의 축약 view다.
|
||||||
@@ -652,7 +652,7 @@ export interface components {
|
|||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
};
|
};
|
||||||
ProjectDecisionInput: components["schemas"]["WorkingCopyInputBase"] & {
|
ProjectDecisionInput: components["schemas"]["WorkingCopyInputBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "PROJECT_DECISION";
|
kind: "PROJECT_DECISION";
|
||||||
/**
|
/**
|
||||||
* @description UI 용어다. Backend Domain의 `ACCEPTED`/`ADOPTED` 명칭이 다르면
|
* @description UI 용어다. Backend Domain의 `ACCEPTED`/`ADOPTED` 명칭이 다르면
|
||||||
@@ -687,7 +687,7 @@ export interface components {
|
|||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
};
|
};
|
||||||
CaseWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
CaseWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
problem: string;
|
problem: string;
|
||||||
conclusion: string;
|
conclusion: string;
|
||||||
@@ -704,7 +704,7 @@ export interface components {
|
|||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
};
|
};
|
||||||
ReferenceWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
ReferenceWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "REFERENCE";
|
kind: "REFERENCE";
|
||||||
purpose: string;
|
purpose: string;
|
||||||
rules: components["schemas"]["ReferenceRule"][];
|
rules: components["schemas"]["ReferenceRule"][];
|
||||||
@@ -721,7 +721,7 @@ export interface components {
|
|||||||
kind: "REFERENCE";
|
kind: "REFERENCE";
|
||||||
};
|
};
|
||||||
QuestionWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
QuestionWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
/** @enum {string|null} */
|
/** @enum {string|null} */
|
||||||
questionStatus: "OPEN" | "RESOLVED" | null;
|
questionStatus: "OPEN" | "RESOLVED" | null;
|
||||||
@@ -740,7 +740,7 @@ export interface components {
|
|||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
};
|
};
|
||||||
ProjectDecisionWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
ProjectDecisionWorkingCopy: components["schemas"]["WorkingCopyBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "PROJECT_DECISION";
|
kind: "PROJECT_DECISION";
|
||||||
/** @enum {string|null} */
|
/** @enum {string|null} */
|
||||||
decisionStatus: "PROPOSED" | "ADOPTED" | null;
|
decisionStatus: "PROPOSED" | "ADOPTED" | null;
|
||||||
@@ -911,7 +911,7 @@ export interface components {
|
|||||||
};
|
};
|
||||||
Inline: components["schemas"]["InlineText"] | components["schemas"]["InlineEmphasis"] | components["schemas"]["InlineStrong"] | components["schemas"]["InlineCode"] | components["schemas"]["InlineLink"] | components["schemas"]["InlineStatus"];
|
Inline: components["schemas"]["InlineText"] | components["schemas"]["InlineEmphasis"] | components["schemas"]["InlineStrong"] | components["schemas"]["InlineCode"] | components["schemas"]["InlineLink"] | components["schemas"]["InlineStatus"];
|
||||||
InlineEmphasis: components["schemas"]["InlineContainer"] & {
|
InlineEmphasis: components["schemas"]["InlineContainer"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
type?: "EMPHASIS";
|
type?: "EMPHASIS";
|
||||||
} & {
|
} & {
|
||||||
/**
|
/**
|
||||||
@@ -921,7 +921,7 @@ export interface components {
|
|||||||
type: "EMPHASIS";
|
type: "EMPHASIS";
|
||||||
};
|
};
|
||||||
InlineStrong: components["schemas"]["InlineContainer"] & {
|
InlineStrong: components["schemas"]["InlineContainer"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
type?: "STRONG";
|
type?: "STRONG";
|
||||||
} & {
|
} & {
|
||||||
/**
|
/**
|
||||||
@@ -966,7 +966,7 @@ export interface components {
|
|||||||
items: components["schemas"]["ListItem"][];
|
items: components["schemas"]["ListItem"][];
|
||||||
};
|
};
|
||||||
UnorderedListBlock: components["schemas"]["ListBlockBase"] & {
|
UnorderedListBlock: components["schemas"]["ListBlockBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
type?: "UNORDERED_LIST";
|
type?: "UNORDERED_LIST";
|
||||||
} & {
|
} & {
|
||||||
/**
|
/**
|
||||||
@@ -976,7 +976,7 @@ export interface components {
|
|||||||
type: "UNORDERED_LIST";
|
type: "UNORDERED_LIST";
|
||||||
};
|
};
|
||||||
OrderedListBlock: components["schemas"]["ListBlockBase"] & {
|
OrderedListBlock: components["schemas"]["ListBlockBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
type?: "ORDERED_LIST";
|
type?: "ORDERED_LIST";
|
||||||
} & {
|
} & {
|
||||||
/**
|
/**
|
||||||
@@ -1074,7 +1074,7 @@ export interface components {
|
|||||||
};
|
};
|
||||||
CaseRenderBlock: components["schemas"]["HeadingBlock"] | components["schemas"]["ParagraphBlock"] | components["schemas"]["BlockquoteBlock"] | components["schemas"]["UnorderedListBlock"] | components["schemas"]["OrderedListBlock"] | components["schemas"]["CodeBlock"] | components["schemas"]["DataTableBlock"] | components["schemas"]["CalloutBlock"] | components["schemas"]["EvidenceFigureBlock"];
|
CaseRenderBlock: components["schemas"]["HeadingBlock"] | components["schemas"]["ParagraphBlock"] | components["schemas"]["BlockquoteBlock"] | components["schemas"]["UnorderedListBlock"] | components["schemas"]["OrderedListBlock"] | components["schemas"]["CodeBlock"] | components["schemas"]["DataTableBlock"] | components["schemas"]["CalloutBlock"] | components["schemas"]["EvidenceFigureBlock"];
|
||||||
CasePublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
CasePublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
problem: string;
|
problem: string;
|
||||||
conclusion: string;
|
conclusion: string;
|
||||||
@@ -1091,7 +1091,7 @@ export interface components {
|
|||||||
kind: "CASE";
|
kind: "CASE";
|
||||||
};
|
};
|
||||||
ReferencePublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
ReferencePublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "REFERENCE";
|
kind: "REFERENCE";
|
||||||
purpose: string;
|
purpose: string;
|
||||||
rules: components["schemas"]["ReferenceRule"][];
|
rules: components["schemas"]["ReferenceRule"][];
|
||||||
@@ -1113,7 +1113,7 @@ export interface components {
|
|||||||
linkLabel: string;
|
linkLabel: string;
|
||||||
};
|
};
|
||||||
QuestionPublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
QuestionPublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
/**
|
/**
|
||||||
* @description 공개 표현용 축약 상태다. Domain의 `INVESTIGATING`/`PAUSED`는 `OPEN`으로 표현된다.
|
* @description 공개 표현용 축약 상태다. Domain의 `INVESTIGATING`/`PAUSED`는 `OPEN`으로 표현된다.
|
||||||
@@ -1135,7 +1135,7 @@ export interface components {
|
|||||||
kind: "QUESTION";
|
kind: "QUESTION";
|
||||||
};
|
};
|
||||||
ProjectDecisionPublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
ProjectDecisionPublicRenderModel: components["schemas"]["PublicRenderModelBase"] & {
|
||||||
/** @constant */
|
/** @enum {string} */
|
||||||
kind: "PROJECT_DECISION";
|
kind: "PROJECT_DECISION";
|
||||||
/** @enum {string} */
|
/** @enum {string} */
|
||||||
status: "PROPOSED" | "ADOPTED";
|
status: "PROPOSED" | "ADOPTED";
|
||||||
|
|||||||
@@ -928,7 +928,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyMarkdown]
|
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyMarkdown]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: CASE }
|
kind: { type: string, enum: [CASE] }
|
||||||
problem: { type: string, maxLength: 100000 }
|
problem: { type: string, maxLength: 100000 }
|
||||||
conclusion: { type: string, maxLength: 100000 }
|
conclusion: { type: string, maxLength: 100000 }
|
||||||
environment: { type: string, maxLength: 100000 }
|
environment: { type: string, maxLength: 100000 }
|
||||||
@@ -947,7 +947,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: REFERENCE }
|
kind: { type: string, enum: [REFERENCE] }
|
||||||
purpose: { type: string, maxLength: 100000 }
|
purpose: { type: string, maxLength: 100000 }
|
||||||
rules: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
rules: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
||||||
applyWhen: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
applyWhen: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
||||||
@@ -961,7 +961,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: QUESTION }
|
kind: { type: string, enum: [QUESTION] }
|
||||||
questionStatus:
|
questionStatus:
|
||||||
type: [string, "null"]
|
type: [string, "null"]
|
||||||
enum: [OPEN, RESOLVED, null]
|
enum: [OPEN, RESOLVED, null]
|
||||||
@@ -988,7 +988,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, decisionStatus, decidedOn, statement, rationale, consequences]
|
required: [kind, decisionStatus, decidedOn, statement, rationale, consequences]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: PROJECT_DECISION }
|
kind: { type: string, enum: [PROJECT_DECISION] }
|
||||||
decisionStatus:
|
decisionStatus:
|
||||||
type: [string, "null"]
|
type: [string, "null"]
|
||||||
enum: [PROPOSED, ADOPTED, null]
|
enum: [PROPOSED, ADOPTED, null]
|
||||||
@@ -1035,7 +1035,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyMarkdown]
|
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyMarkdown]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: CASE }
|
kind: { type: string, enum: [CASE] }
|
||||||
problem: { type: string, maxLength: 100000 }
|
problem: { type: string, maxLength: 100000 }
|
||||||
conclusion: { type: string, maxLength: 100000 }
|
conclusion: { type: string, maxLength: 100000 }
|
||||||
environment: { type: string, maxLength: 100000 }
|
environment: { type: string, maxLength: 100000 }
|
||||||
@@ -1049,7 +1049,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: REFERENCE }
|
kind: { type: string, enum: [REFERENCE] }
|
||||||
purpose: { type: string, maxLength: 100000 }
|
purpose: { type: string, maxLength: 100000 }
|
||||||
rules: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
rules: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
||||||
applyWhen: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
applyWhen: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
||||||
@@ -1063,7 +1063,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: QUESTION }
|
kind: { type: string, enum: [QUESTION] }
|
||||||
questionStatus: { type: [string, "null"], enum: [OPEN, RESOLVED, null] }
|
questionStatus: { type: [string, "null"], enum: [OPEN, RESOLVED, null] }
|
||||||
facts: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
facts: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
||||||
assumptions: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
assumptions: { type: array, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
||||||
@@ -1082,7 +1082,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, decisionStatus, decidedOn, statement, rationale, consequences]
|
required: [kind, decisionStatus, decidedOn, statement, rationale, consequences]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: PROJECT_DECISION }
|
kind: { type: string, enum: [PROJECT_DECISION] }
|
||||||
decisionStatus: { type: [string, "null"], enum: [PROPOSED, ADOPTED, null] }
|
decisionStatus: { type: [string, "null"], enum: [PROPOSED, ADOPTED, null] }
|
||||||
decidedOn: { type: [string, "null"], format: date }
|
decidedOn: { type: [string, "null"], format: date }
|
||||||
statement: { type: string, maxLength: 100000 }
|
statement: { type: string, maxLength: 100000 }
|
||||||
@@ -1251,7 +1251,7 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, text]
|
required: [type, text]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: TEXT }
|
type: { type: string, enum: [TEXT] }
|
||||||
text: { type: string, minLength: 1, maxLength: 100000 }
|
text: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
InlineContainer:
|
InlineContainer:
|
||||||
type: object
|
type: object
|
||||||
@@ -1264,14 +1264,14 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, code]
|
required: [type, code]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: INLINE_CODE }
|
type: { type: string, enum: [INLINE_CODE] }
|
||||||
code: { type: string, minLength: 1, maxLength: 100000 }
|
code: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
InlineLink:
|
InlineLink:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, label, href]
|
required: [type, label, href]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: LINK }
|
type: { type: string, enum: [LINK] }
|
||||||
label: { type: string, minLength: 1, maxLength: 100000 }
|
label: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
href: { type: string, format: uri, maxLength: 2000 }
|
href: { type: string, format: uri, maxLength: 2000 }
|
||||||
InlineStatus:
|
InlineStatus:
|
||||||
@@ -1279,7 +1279,7 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, label, tone]
|
required: [type, label, tone]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: STATUS }
|
type: { type: string, enum: [STATUS] }
|
||||||
label: { type: string, minLength: 1, maxLength: 120 }
|
label: { type: string, minLength: 1, maxLength: 120 }
|
||||||
tone: { type: string, enum: [warning, evidence, neutral] }
|
tone: { type: string, enum: [warning, evidence, neutral] }
|
||||||
Inline:
|
Inline:
|
||||||
@@ -1303,18 +1303,18 @@ components:
|
|||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
allOf:
|
allOf:
|
||||||
- { $ref: "#/components/schemas/InlineContainer" }
|
- { $ref: "#/components/schemas/InlineContainer" }
|
||||||
- { type: object, properties: { type: { type: string, const: EMPHASIS } } }
|
- { type: object, properties: { type: { type: string, enum: [EMPHASIS] } } }
|
||||||
InlineStrong:
|
InlineStrong:
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
allOf:
|
allOf:
|
||||||
- { $ref: "#/components/schemas/InlineContainer" }
|
- { $ref: "#/components/schemas/InlineContainer" }
|
||||||
- { type: object, properties: { type: { type: string, const: STRONG } } }
|
- { type: object, properties: { type: { type: string, enum: [STRONG] } } }
|
||||||
HeadingBlock:
|
HeadingBlock:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, id, level, content]
|
required: [type, id, level, content]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: HEADING }
|
type: { type: string, enum: [HEADING] }
|
||||||
id: { type: string, minLength: 1, maxLength: 200 }
|
id: { type: string, minLength: 1, maxLength: 200 }
|
||||||
level: { type: integer, minimum: 2, maximum: 4 }
|
level: { type: integer, minimum: 2, maximum: 4 }
|
||||||
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
||||||
@@ -1323,14 +1323,14 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, content]
|
required: [type, content]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: PARAGRAPH }
|
type: { type: string, enum: [PARAGRAPH] }
|
||||||
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
||||||
BlockquoteBlock:
|
BlockquoteBlock:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, content]
|
required: [type, content]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: BLOCKQUOTE }
|
type: { type: string, enum: [BLOCKQUOTE] }
|
||||||
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
||||||
ListItem:
|
ListItem:
|
||||||
type: object
|
type: object
|
||||||
@@ -1349,18 +1349,18 @@ components:
|
|||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
allOf:
|
allOf:
|
||||||
- { $ref: "#/components/schemas/ListBlockBase" }
|
- { $ref: "#/components/schemas/ListBlockBase" }
|
||||||
- { type: object, properties: { type: { type: string, const: UNORDERED_LIST } } }
|
- { type: object, properties: { type: { type: string, enum: [UNORDERED_LIST] } } }
|
||||||
OrderedListBlock:
|
OrderedListBlock:
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
allOf:
|
allOf:
|
||||||
- { $ref: "#/components/schemas/ListBlockBase" }
|
- { $ref: "#/components/schemas/ListBlockBase" }
|
||||||
- { type: object, properties: { type: { type: string, const: ORDERED_LIST } } }
|
- { type: object, properties: { type: { type: string, enum: [ORDERED_LIST] } } }
|
||||||
CodeBlock:
|
CodeBlock:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, code, language, label]
|
required: [type, code, language, label]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: CODE_BLOCK }
|
type: { type: string, enum: [CODE_BLOCK] }
|
||||||
code: { type: string, maxLength: 100000 }
|
code: { type: string, maxLength: 100000 }
|
||||||
language: { type: [string, "null"], maxLength: 100 }
|
language: { type: [string, "null"], maxLength: 100 }
|
||||||
label: { type: [string, "null"], maxLength: 200 }
|
label: { type: [string, "null"], maxLength: 200 }
|
||||||
@@ -1391,7 +1391,7 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, id, caption, rowHeaderColumn, columns, rows]
|
required: [type, id, caption, rowHeaderColumn, columns, rows]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: DATA_TABLE }
|
type: { type: string, enum: [DATA_TABLE] }
|
||||||
id: { type: string, minLength: 1, maxLength: 200 }
|
id: { type: string, minLength: 1, maxLength: 200 }
|
||||||
caption: { type: string, maxLength: 1000 }
|
caption: { type: string, maxLength: 1000 }
|
||||||
rowHeaderColumn: { type: [integer, "null"], minimum: 1 }
|
rowHeaderColumn: { type: [integer, "null"], minimum: 1 }
|
||||||
@@ -1402,7 +1402,7 @@ components:
|
|||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required: [type, tone, label, content]
|
required: [type, tone, label, content]
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: CALLOUT }
|
type: { type: string, enum: [CALLOUT] }
|
||||||
tone: { type: string, enum: [warning, info] }
|
tone: { type: string, enum: [warning, info] }
|
||||||
label: { type: string, maxLength: 200 }
|
label: { type: string, maxLength: 200 }
|
||||||
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
content: { type: array, maxItems: 1000, items: { $ref: "#/components/schemas/Inline" } }
|
||||||
@@ -1425,7 +1425,7 @@ components:
|
|||||||
Asset decorative=true → alt="" 허용
|
Asset decorative=true → alt="" 허용
|
||||||
```
|
```
|
||||||
properties:
|
properties:
|
||||||
type: { type: string, const: EVIDENCE_FIGURE }
|
type: { type: string, enum: [EVIDENCE_FIGURE] }
|
||||||
key: { type: string, minLength: 1, maxLength: 200 }
|
key: { type: string, minLength: 1, maxLength: 200 }
|
||||||
alt: { type: string, maxLength: 1000 }
|
alt: { type: string, maxLength: 1000 }
|
||||||
caption: { type: string, maxLength: 1000 }
|
caption: { type: string, maxLength: 1000 }
|
||||||
@@ -1477,7 +1477,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyBlocks]
|
required: [kind, problem, conclusion, environment, reproduction, lastVerifiedOn, bodyBlocks]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: CASE }
|
kind: { type: string, enum: [CASE] }
|
||||||
problem: { type: string, minLength: 1, maxLength: 100000 }
|
problem: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
conclusion: { type: string, minLength: 1, maxLength: 100000 }
|
conclusion: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
environment: { type: string, maxLength: 100000 }
|
environment: { type: string, maxLength: 100000 }
|
||||||
@@ -1491,7 +1491,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
required: [kind, purpose, rules, applyWhen, exceptions, examples, verifiedOn]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: REFERENCE }
|
kind: { type: string, enum: [REFERENCE] }
|
||||||
purpose: { type: string, minLength: 1, maxLength: 100000 }
|
purpose: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
rules: { type: array, minItems: 1, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
rules: { type: array, minItems: 1, maxItems: 50, items: { $ref: "#/components/schemas/ReferenceRule" } }
|
||||||
applyWhen: { type: array, minItems: 1, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
applyWhen: { type: array, minItems: 1, maxItems: 50, items: { $ref: "#/components/schemas/OrderedText" } }
|
||||||
@@ -1513,7 +1513,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, status, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
required: [kind, status, facts, assumptions, unknowns, constraints, options, nextValidation, resolution]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: QUESTION }
|
kind: { type: string, enum: [QUESTION] }
|
||||||
status:
|
status:
|
||||||
type: string
|
type: string
|
||||||
enum: [OPEN, RESOLVED]
|
enum: [OPEN, RESOLVED]
|
||||||
@@ -1535,7 +1535,7 @@ components:
|
|||||||
- type: object
|
- type: object
|
||||||
required: [kind, status, decidedOn, statement, rationale, consequences]
|
required: [kind, status, decidedOn, statement, rationale, consequences]
|
||||||
properties:
|
properties:
|
||||||
kind: { type: string, const: PROJECT_DECISION }
|
kind: { type: string, enum: [PROJECT_DECISION] }
|
||||||
status: { type: string, enum: [PROPOSED, ADOPTED] }
|
status: { type: string, enum: [PROPOSED, ADOPTED] }
|
||||||
decidedOn: { type: string, format: date }
|
decidedOn: { type: string, format: date }
|
||||||
statement: { type: string, minLength: 1, maxLength: 100000 }
|
statement: { type: string, minLength: 1, maxLength: 100000 }
|
||||||
|
|||||||
Reference in New Issue
Block a user