@knpkv/confluence-to-markdown 0.2.0 → 0.4.1
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.
- package/CHANGELOG.md +60 -0
- package/LICENSE +21 -0
- package/README.md +282 -14
- package/dist/ConfluenceAuth.d.ts +76 -0
- package/dist/ConfluenceAuth.d.ts.map +1 -0
- package/dist/ConfluenceAuth.js +356 -0
- package/dist/ConfluenceAuth.js.map +1 -0
- package/dist/ConfluenceClient.d.ts +26 -2
- package/dist/ConfluenceClient.d.ts.map +1 -1
- package/dist/ConfluenceClient.js +98 -92
- package/dist/ConfluenceClient.js.map +1 -1
- package/dist/ConfluenceConfig.d.ts +4 -24
- package/dist/ConfluenceConfig.d.ts.map +1 -1
- package/dist/ConfluenceConfig.js +45 -7
- package/dist/ConfluenceConfig.js.map +1 -1
- package/dist/ConfluenceError.d.ts +89 -6
- package/dist/ConfluenceError.d.ts.map +1 -1
- package/dist/ConfluenceError.js +88 -5
- package/dist/ConfluenceError.js.map +1 -1
- package/dist/GitError.d.ts +103 -0
- package/dist/GitError.d.ts.map +1 -0
- package/dist/GitError.js +85 -0
- package/dist/GitError.js.map +1 -0
- package/dist/GitService.d.ts +175 -0
- package/dist/GitService.d.ts.map +1 -0
- package/dist/GitService.js +431 -0
- package/dist/GitService.js.map +1 -0
- package/dist/LocalFileSystem.d.ts +29 -4
- package/dist/LocalFileSystem.d.ts.map +1 -1
- package/dist/LocalFileSystem.js +80 -6
- package/dist/LocalFileSystem.js.map +1 -1
- package/dist/MarkdownConverter.d.ts +49 -2
- package/dist/MarkdownConverter.d.ts.map +1 -1
- package/dist/MarkdownConverter.js +73 -111
- package/dist/MarkdownConverter.js.map +1 -1
- package/dist/SchemaConverterError.d.ts +108 -0
- package/dist/SchemaConverterError.d.ts.map +1 -0
- package/dist/SchemaConverterError.js +84 -0
- package/dist/SchemaConverterError.js.map +1 -0
- package/dist/Schemas.d.ts +225 -1
- package/dist/Schemas.d.ts.map +1 -1
- package/dist/Schemas.js +155 -6
- package/dist/Schemas.js.map +1 -1
- package/dist/SyncEngine.d.ts +30 -20
- package/dist/SyncEngine.d.ts.map +1 -1
- package/dist/SyncEngine.js +566 -117
- package/dist/SyncEngine.js.map +1 -1
- package/dist/ast/BlockNode.d.ts +468 -0
- package/dist/ast/BlockNode.d.ts.map +1 -0
- package/dist/ast/BlockNode.js +319 -0
- package/dist/ast/BlockNode.js.map +1 -0
- package/dist/ast/Document.d.ts +244 -0
- package/dist/ast/Document.d.ts.map +1 -0
- package/dist/ast/Document.js +69 -0
- package/dist/ast/Document.js.map +1 -0
- package/dist/ast/InlineNode.d.ts +477 -0
- package/dist/ast/InlineNode.d.ts.map +1 -0
- package/dist/ast/InlineNode.js +263 -0
- package/dist/ast/InlineNode.js.map +1 -0
- package/dist/ast/MacroNode.d.ts +267 -0
- package/dist/ast/MacroNode.d.ts.map +1 -0
- package/dist/ast/MacroNode.js +164 -0
- package/dist/ast/MacroNode.js.map +1 -0
- package/dist/ast/index.d.ts +10 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +14 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/bin.js +33 -149
- package/dist/bin.js.map +1 -1
- package/dist/commands/auth.d.ts +15 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +86 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/clone.d.ts +12 -0
- package/dist/commands/clone.d.ts.map +1 -0
- package/dist/commands/clone.js +93 -0
- package/dist/commands/clone.js.map +1 -0
- package/dist/commands/delete.d.ts +13 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +48 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/errorHandler.d.ts +14 -0
- package/dist/commands/errorHandler.d.ts.map +1 -0
- package/dist/commands/errorHandler.js +33 -0
- package/dist/commands/errorHandler.js.map +1 -0
- package/dist/commands/git.d.ts +22 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +72 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/index.d.ts +11 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +11 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/layers.d.ts +31 -0
- package/dist/commands/layers.d.ts.map +1 -0
- package/dist/commands/layers.js +137 -0
- package/dist/commands/layers.js.map +1 -0
- package/dist/commands/new.d.ts +9 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +80 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/pageTree.d.ts +18 -0
- package/dist/commands/pageTree.d.ts.map +1 -0
- package/dist/commands/pageTree.js +20 -0
- package/dist/commands/pageTree.js.map +1 -0
- package/dist/commands/shared.d.ts +15 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +27 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/sync.d.ts +15 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +101 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/NodeLayers.d.ts +7 -0
- package/dist/internal/NodeLayers.d.ts.map +1 -0
- package/dist/internal/NodeLayers.js +19 -0
- package/dist/internal/NodeLayers.js.map +1 -0
- package/dist/internal/frontmatter.d.ts +10 -0
- package/dist/internal/frontmatter.d.ts.map +1 -1
- package/dist/internal/frontmatter.js +16 -0
- package/dist/internal/frontmatter.js.map +1 -1
- package/dist/internal/gitCommands.d.ts +78 -0
- package/dist/internal/gitCommands.d.ts.map +1 -0
- package/dist/internal/gitCommands.js +156 -0
- package/dist/internal/gitCommands.js.map +1 -0
- package/dist/internal/hashUtils.d.ts +42 -1
- package/dist/internal/hashUtils.d.ts.map +1 -1
- package/dist/internal/hashUtils.js +38 -2
- package/dist/internal/hashUtils.js.map +1 -1
- package/dist/internal/oauthServer.d.ts +55 -0
- package/dist/internal/oauthServer.d.ts.map +1 -0
- package/dist/internal/oauthServer.js +110 -0
- package/dist/internal/oauthServer.js.map +1 -0
- package/dist/internal/pathUtils.d.ts +21 -4
- package/dist/internal/pathUtils.d.ts.map +1 -1
- package/dist/internal/pathUtils.js +24 -13
- package/dist/internal/pathUtils.js.map +1 -1
- package/dist/internal/tokenStorage.d.ts +75 -0
- package/dist/internal/tokenStorage.d.ts.map +1 -0
- package/dist/internal/tokenStorage.js +149 -0
- package/dist/internal/tokenStorage.js.map +1 -0
- package/dist/internal/userCache.d.ts +42 -0
- package/dist/internal/userCache.d.ts.map +1 -0
- package/dist/internal/userCache.js +51 -0
- package/dist/internal/userCache.js.map +1 -0
- package/dist/parsers/ConfluenceParser.d.ts +26 -0
- package/dist/parsers/ConfluenceParser.d.ts.map +1 -0
- package/dist/parsers/ConfluenceParser.js +792 -0
- package/dist/parsers/ConfluenceParser.js.map +1 -0
- package/dist/parsers/MarkdownParser.d.ts +26 -0
- package/dist/parsers/MarkdownParser.d.ts.map +1 -0
- package/dist/parsers/MarkdownParser.js +873 -0
- package/dist/parsers/MarkdownParser.js.map +1 -0
- package/dist/parsers/index.d.ts +8 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +8 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/schemas/ConfluenceSchema.d.ts +21 -0
- package/dist/schemas/ConfluenceSchema.d.ts.map +1 -0
- package/dist/schemas/ConfluenceSchema.js +38 -0
- package/dist/schemas/ConfluenceSchema.js.map +1 -0
- package/dist/schemas/ConversionSchema.d.ts +35 -0
- package/dist/schemas/ConversionSchema.d.ts.map +1 -0
- package/dist/schemas/ConversionSchema.js +208 -0
- package/dist/schemas/ConversionSchema.js.map +1 -0
- package/dist/schemas/MarkdownSchema.d.ts +21 -0
- package/dist/schemas/MarkdownSchema.d.ts.map +1 -0
- package/dist/schemas/MarkdownSchema.js +38 -0
- package/dist/schemas/MarkdownSchema.js.map +1 -0
- package/dist/schemas/hast/HastFromHtml.d.ts +27 -0
- package/dist/schemas/hast/HastFromHtml.d.ts.map +1 -0
- package/dist/schemas/hast/HastFromHtml.js +107 -0
- package/dist/schemas/hast/HastFromHtml.js.map +1 -0
- package/dist/schemas/hast/HastSchema.d.ts +195 -0
- package/dist/schemas/hast/HastSchema.d.ts.map +1 -0
- package/dist/schemas/hast/HastSchema.js +183 -0
- package/dist/schemas/hast/HastSchema.js.map +1 -0
- package/dist/schemas/hast/index.d.ts +9 -0
- package/dist/schemas/hast/index.d.ts.map +1 -0
- package/dist/schemas/hast/index.js +3 -0
- package/dist/schemas/hast/index.js.map +1 -0
- package/dist/schemas/index.d.ts +14 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +16 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/mdast/MdastFromMarkdown.d.ts +30 -0
- package/dist/schemas/mdast/MdastFromMarkdown.d.ts.map +1 -0
- package/dist/schemas/mdast/MdastFromMarkdown.js +79 -0
- package/dist/schemas/mdast/MdastFromMarkdown.js.map +1 -0
- package/dist/schemas/mdast/MdastSchema.d.ts +385 -0
- package/dist/schemas/mdast/MdastSchema.d.ts.map +1 -0
- package/dist/schemas/mdast/MdastSchema.js +266 -0
- package/dist/schemas/mdast/MdastSchema.js.map +1 -0
- package/dist/schemas/mdast/index.d.ts +10 -0
- package/dist/schemas/mdast/index.d.ts.map +1 -0
- package/dist/schemas/mdast/index.js +4 -0
- package/dist/schemas/mdast/index.js.map +1 -0
- package/dist/schemas/mdast/mdastToString.d.ts +13 -0
- package/dist/schemas/mdast/mdastToString.d.ts.map +1 -0
- package/dist/schemas/mdast/mdastToString.js +85 -0
- package/dist/schemas/mdast/mdastToString.js.map +1 -0
- package/dist/schemas/nodes/block/BlockSchema.d.ts +43 -0
- package/dist/schemas/nodes/block/BlockSchema.d.ts.map +1 -0
- package/dist/schemas/nodes/block/BlockSchema.js +634 -0
- package/dist/schemas/nodes/block/BlockSchema.js.map +1 -0
- package/dist/schemas/nodes/block/index.d.ts +7 -0
- package/dist/schemas/nodes/block/index.d.ts.map +1 -0
- package/dist/schemas/nodes/block/index.js +7 -0
- package/dist/schemas/nodes/block/index.js.map +1 -0
- package/dist/schemas/nodes/index.d.ts +9 -0
- package/dist/schemas/nodes/index.d.ts.map +1 -0
- package/dist/schemas/nodes/index.js +12 -0
- package/dist/schemas/nodes/index.js.map +1 -0
- package/dist/schemas/nodes/inline/InlineSchema.d.ts +48 -0
- package/dist/schemas/nodes/inline/InlineSchema.d.ts.map +1 -0
- package/dist/schemas/nodes/inline/InlineSchema.js +436 -0
- package/dist/schemas/nodes/inline/InlineSchema.js.map +1 -0
- package/dist/schemas/nodes/inline/index.d.ts +7 -0
- package/dist/schemas/nodes/inline/index.d.ts.map +1 -0
- package/dist/schemas/nodes/inline/index.js +7 -0
- package/dist/schemas/nodes/inline/index.js.map +1 -0
- package/dist/schemas/nodes/macro/MacroSchema.d.ts +27 -0
- package/dist/schemas/nodes/macro/MacroSchema.d.ts.map +1 -0
- package/dist/schemas/nodes/macro/MacroSchema.js +162 -0
- package/dist/schemas/nodes/macro/MacroSchema.js.map +1 -0
- package/dist/schemas/nodes/macro/index.d.ts +7 -0
- package/dist/schemas/nodes/macro/index.d.ts.map +1 -0
- package/dist/schemas/nodes/macro/index.js +7 -0
- package/dist/schemas/nodes/macro/index.js.map +1 -0
- package/dist/schemas/preprocessing/ConfluencePreprocessor.d.ts +24 -0
- package/dist/schemas/preprocessing/ConfluencePreprocessor.d.ts.map +1 -0
- package/dist/schemas/preprocessing/ConfluencePreprocessor.js +351 -0
- package/dist/schemas/preprocessing/ConfluencePreprocessor.js.map +1 -0
- package/dist/schemas/preprocessing/index.d.ts +8 -0
- package/dist/schemas/preprocessing/index.d.ts.map +1 -0
- package/dist/schemas/preprocessing/index.js +2 -0
- package/dist/schemas/preprocessing/index.js.map +1 -0
- package/dist/serializers/ConfluenceSerializer.d.ts +30 -0
- package/dist/serializers/ConfluenceSerializer.d.ts.map +1 -0
- package/dist/serializers/ConfluenceSerializer.js +551 -0
- package/dist/serializers/ConfluenceSerializer.js.map +1 -0
- package/dist/serializers/MarkdownSerializer.d.ts +34 -0
- package/dist/serializers/MarkdownSerializer.d.ts.map +1 -0
- package/dist/serializers/MarkdownSerializer.js +355 -0
- package/dist/serializers/MarkdownSerializer.js.map +1 -0
- package/dist/serializers/index.d.ts +8 -0
- package/dist/serializers/index.d.ts.map +1 -0
- package/dist/serializers/index.js +8 -0
- package/dist/serializers/index.js.map +1 -0
- package/package.json +27 -16
- package/src/ConfluenceAuth.ts +571 -0
- package/src/ConfluenceClient.ts +188 -156
- package/src/ConfluenceConfig.ts +63 -7
- package/src/ConfluenceError.ts +110 -14
- package/src/GitError.ts +92 -0
- package/src/GitService.ts +859 -0
- package/src/LocalFileSystem.ts +179 -9
- package/src/MarkdownConverter.ts +126 -122
- package/src/SchemaConverterError.ts +108 -0
- package/src/Schemas.ts +223 -6
- package/src/SyncEngine.ts +745 -162
- package/src/ast/BlockNode.ts +425 -0
- package/src/ast/Document.ts +90 -0
- package/src/ast/InlineNode.ts +323 -0
- package/src/ast/MacroNode.ts +245 -0
- package/src/ast/index.ts +83 -0
- package/src/bin.ts +50 -249
- package/src/commands/auth.ts +117 -0
- package/src/commands/clone.ts +145 -0
- package/src/commands/delete.ts +57 -0
- package/src/commands/errorHandler.ts +32 -0
- package/src/commands/git.ts +114 -0
- package/src/commands/index.ts +10 -0
- package/src/commands/layers.ts +211 -0
- package/src/commands/new.ts +99 -0
- package/src/commands/pageTree.ts +40 -0
- package/src/commands/shared.ts +35 -0
- package/src/commands/sync.ts +129 -0
- package/src/index.ts +21 -1
- package/src/internal/NodeLayers.ts +21 -0
- package/src/internal/frontmatter.ts +21 -0
- package/src/internal/gitCommands.ts +229 -0
- package/src/internal/hashUtils.ts +65 -3
- package/src/internal/oauthServer.ts +199 -0
- package/src/internal/pathUtils.ts +34 -17
- package/src/internal/tokenStorage.ts +240 -0
- package/src/internal/userCache.ts +90 -0
- package/src/parsers/ConfluenceParser.ts +950 -0
- package/src/parsers/MarkdownParser.ts +1198 -0
- package/src/parsers/index.ts +8 -0
- package/src/schemas/ConfluenceSchema.ts +56 -0
- package/src/schemas/ConversionSchema.ts +318 -0
- package/src/schemas/MarkdownSchema.ts +56 -0
- package/src/schemas/hast/HastFromHtml.ts +153 -0
- package/src/schemas/hast/HastSchema.ts +274 -0
- package/src/schemas/hast/index.ts +35 -0
- package/src/schemas/index.ts +20 -0
- package/src/schemas/mdast/MdastFromMarkdown.ts +118 -0
- package/src/schemas/mdast/MdastSchema.ts +566 -0
- package/src/schemas/mdast/index.ts +59 -0
- package/src/schemas/mdast/mdastToString.ts +102 -0
- package/src/schemas/nodes/block/BlockSchema.ts +773 -0
- package/src/schemas/nodes/block/index.ts +13 -0
- package/src/schemas/nodes/index.ts +20 -0
- package/src/schemas/nodes/inline/InlineSchema.ts +523 -0
- package/src/schemas/nodes/inline/index.ts +14 -0
- package/src/schemas/nodes/macro/MacroSchema.ts +226 -0
- package/src/schemas/nodes/macro/index.ts +6 -0
- package/src/schemas/preprocessing/ConfluencePreprocessor.ts +446 -0
- package/src/schemas/preprocessing/index.ts +8 -0
- package/src/serializers/ConfluenceSerializer.ts +717 -0
- package/src/serializers/MarkdownSerializer.ts +493 -0
- package/src/serializers/index.ts +8 -0
- package/test/GitService.test.ts +209 -0
- package/test/MarkdownConverter.test.ts +37 -3
- package/test/Schemas.test.ts +97 -2
- package/test/ast/BlockNode.test.ts +265 -0
- package/test/ast/Document.test.ts +126 -0
- package/test/ast/InlineNode.test.ts +161 -0
- package/test/fixtures/integration-test.html.fixture +103 -0
- package/test/fixtures/integration-test.md.expected +257 -0
- package/test/integration.test.ts +269 -0
- package/test/oauthServer.test.ts +50 -0
- package/test/parsers/ConfluenceParser.test.ts +283 -0
- package/test/schemas/ConfluencePreprocessor.test.ts +180 -0
- package/test/schemas/ConversionSchema.test.ts +159 -0
- package/test/schemas/HastSchema.test.ts +138 -0
- package/test/schemas/MdastSchema.test.ts +145 -0
- package/test/schemas/nodes/block/BlockSchema.test.ts +173 -0
- package/test/schemas/nodes/inline/InlineSchema.test.ts +198 -0
- package/test/schemas/nodes/macro/MacroSchema.test.ts +142 -0
- package/test/tokenStorage.test.ts +99 -0
package/src/Schemas.ts
CHANGED
|
@@ -31,10 +31,14 @@ export const ConfluenceConfigFileSchema = Schema.Struct({
|
|
|
31
31
|
),
|
|
32
32
|
/** Optional space key */
|
|
33
33
|
spaceKey: Schema.optional(SpaceKeySchema),
|
|
34
|
-
/** Local docs path (default: .docs
|
|
35
|
-
docsPath: Schema.optionalWith(Schema.String, { default: () => ".docs
|
|
34
|
+
/** Local docs path (default: .confluence/docs) */
|
|
35
|
+
docsPath: Schema.optionalWith(Schema.String, { default: () => ".confluence/docs" }),
|
|
36
36
|
/** Glob patterns to exclude from sync */
|
|
37
|
-
excludePatterns: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] })
|
|
37
|
+
excludePatterns: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] }),
|
|
38
|
+
/** Save original Confluence HTML alongside markdown (default: false) */
|
|
39
|
+
saveSource: Schema.optionalWith(Schema.Boolean, { default: () => false }),
|
|
40
|
+
/** Glob patterns for files to track in git */
|
|
41
|
+
trackedPaths: Schema.optionalWith(Schema.Array(Schema.String), { default: () => ["**/*.md"] })
|
|
38
42
|
})
|
|
39
43
|
|
|
40
44
|
/**
|
|
@@ -77,7 +81,13 @@ export const PageFrontMatterSchema = Schema.Struct({
|
|
|
77
81
|
/** Position among siblings (optional) */
|
|
78
82
|
position: Schema.optional(Schema.Number),
|
|
79
83
|
/** SHA256 hash of content for change detection */
|
|
80
|
-
contentHash: ContentHashSchema
|
|
84
|
+
contentHash: ContentHashSchema,
|
|
85
|
+
/** Version message from Confluence (used as git commit message) */
|
|
86
|
+
versionMessage: Schema.optional(Schema.String),
|
|
87
|
+
/** Author display name */
|
|
88
|
+
authorName: Schema.optional(Schema.String),
|
|
89
|
+
/** Author email */
|
|
90
|
+
authorEmail: Schema.optional(Schema.String)
|
|
81
91
|
})
|
|
82
92
|
|
|
83
93
|
/**
|
|
@@ -143,10 +153,13 @@ export type SyncState = Schema.Schema.Type<typeof SyncStateSchema>
|
|
|
143
153
|
export const PageResponseSchema = Schema.Struct({
|
|
144
154
|
id: Schema.String,
|
|
145
155
|
title: Schema.String,
|
|
156
|
+
spaceId: Schema.optional(Schema.String),
|
|
146
157
|
status: Schema.optional(Schema.String),
|
|
147
158
|
version: Schema.Struct({
|
|
148
159
|
number: Schema.Number,
|
|
149
|
-
createdAt: Schema.optional(Schema.String)
|
|
160
|
+
createdAt: Schema.optional(Schema.String),
|
|
161
|
+
message: Schema.optional(Schema.String),
|
|
162
|
+
authorId: Schema.optional(Schema.String)
|
|
150
163
|
}),
|
|
151
164
|
body: Schema.optional(
|
|
152
165
|
Schema.Struct({
|
|
@@ -185,7 +198,9 @@ export const PageListItemSchema = Schema.Struct({
|
|
|
185
198
|
status: Schema.optional(Schema.String),
|
|
186
199
|
version: Schema.optional(Schema.Struct({
|
|
187
200
|
number: Schema.Number,
|
|
188
|
-
createdAt: Schema.optional(Schema.String)
|
|
201
|
+
createdAt: Schema.optional(Schema.String),
|
|
202
|
+
message: Schema.optional(Schema.String),
|
|
203
|
+
authorId: Schema.optional(Schema.String)
|
|
189
204
|
})),
|
|
190
205
|
body: Schema.optional(
|
|
191
206
|
Schema.Struct({
|
|
@@ -233,3 +248,205 @@ export const PageChildrenResponseSchema = Schema.Struct({
|
|
|
233
248
|
* @category Types
|
|
234
249
|
*/
|
|
235
250
|
export type PageChildrenResponse = Schema.Schema.Type<typeof PageChildrenResponseSchema>
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Schema for OAuth user info.
|
|
254
|
+
*
|
|
255
|
+
* @category Schema
|
|
256
|
+
*/
|
|
257
|
+
export const OAuthUserSchema = Schema.Struct({
|
|
258
|
+
/** Atlassian account ID */
|
|
259
|
+
account_id: Schema.String,
|
|
260
|
+
/** Display name */
|
|
261
|
+
name: Schema.String,
|
|
262
|
+
/** Email address */
|
|
263
|
+
email: Schema.String
|
|
264
|
+
})
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Type for OAuth user info.
|
|
268
|
+
*
|
|
269
|
+
* @category Types
|
|
270
|
+
*/
|
|
271
|
+
export type OAuthUser = Schema.Schema.Type<typeof OAuthUserSchema>
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Schema for stored OAuth token.
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* ```typescript
|
|
278
|
+
* import { OAuthTokenSchema } from "@knpkv/confluence-to-markdown/Schemas"
|
|
279
|
+
* import * as Schema from "effect/Schema"
|
|
280
|
+
*
|
|
281
|
+
* const token = Schema.decodeUnknownSync(OAuthTokenSchema)({
|
|
282
|
+
* access_token: "eyJ...",
|
|
283
|
+
* refresh_token: "eyJ...",
|
|
284
|
+
* expires_at: Date.now() + 3600000,
|
|
285
|
+
* scope: "read:confluence-content.all",
|
|
286
|
+
* cloud_id: "abc123",
|
|
287
|
+
* site_url: "https://mysite.atlassian.net"
|
|
288
|
+
* })
|
|
289
|
+
* ```
|
|
290
|
+
*
|
|
291
|
+
* @category Schema
|
|
292
|
+
*/
|
|
293
|
+
export const OAuthTokenSchema = Schema.Struct({
|
|
294
|
+
/** OAuth access token */
|
|
295
|
+
access_token: Schema.String,
|
|
296
|
+
/** OAuth refresh token */
|
|
297
|
+
refresh_token: Schema.String,
|
|
298
|
+
/** Token expiration timestamp (Unix ms) */
|
|
299
|
+
expires_at: Schema.Number,
|
|
300
|
+
/** Granted scopes */
|
|
301
|
+
scope: Schema.String,
|
|
302
|
+
/** Atlassian Cloud site ID */
|
|
303
|
+
cloud_id: Schema.String,
|
|
304
|
+
/** Confluence site URL */
|
|
305
|
+
site_url: Schema.String,
|
|
306
|
+
/** Cached user info */
|
|
307
|
+
user: Schema.optional(OAuthUserSchema)
|
|
308
|
+
})
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Type for stored OAuth token.
|
|
312
|
+
*
|
|
313
|
+
* @category Types
|
|
314
|
+
*/
|
|
315
|
+
export type OAuthToken = Schema.Schema.Type<typeof OAuthTokenSchema>
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Schema for OAuth client configuration.
|
|
319
|
+
*
|
|
320
|
+
* @category Schema
|
|
321
|
+
*/
|
|
322
|
+
export const OAuthConfigSchema = Schema.Struct({
|
|
323
|
+
/** OAuth client ID from Atlassian Developer Console */
|
|
324
|
+
clientId: Schema.String,
|
|
325
|
+
/** OAuth client secret */
|
|
326
|
+
clientSecret: Schema.String
|
|
327
|
+
})
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Type for OAuth client configuration.
|
|
331
|
+
*
|
|
332
|
+
* @category Types
|
|
333
|
+
*/
|
|
334
|
+
export type OAuthConfig = Schema.Schema.Type<typeof OAuthConfigSchema>
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Schema for Atlassian user info.
|
|
338
|
+
*
|
|
339
|
+
* @category Schema
|
|
340
|
+
*/
|
|
341
|
+
export const AtlassianUserSchema = Schema.Struct({
|
|
342
|
+
/** Atlassian account ID */
|
|
343
|
+
accountId: Schema.String,
|
|
344
|
+
/** Display name */
|
|
345
|
+
displayName: Schema.String,
|
|
346
|
+
/** Email address (may be empty for privacy settings) */
|
|
347
|
+
email: Schema.optional(Schema.String),
|
|
348
|
+
/** Public name */
|
|
349
|
+
publicName: Schema.optional(Schema.String)
|
|
350
|
+
})
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Type for Atlassian user info.
|
|
354
|
+
*
|
|
355
|
+
* @category Types
|
|
356
|
+
*/
|
|
357
|
+
export type AtlassianUser = Schema.Schema.Type<typeof AtlassianUserSchema>
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Schema for page version info (from versions list).
|
|
361
|
+
*
|
|
362
|
+
* @category Schema
|
|
363
|
+
*/
|
|
364
|
+
export const PageVersionSchema = Schema.Struct({
|
|
365
|
+
/** Version number */
|
|
366
|
+
number: Schema.Number,
|
|
367
|
+
/** Author account ID */
|
|
368
|
+
authorId: Schema.optional(Schema.String),
|
|
369
|
+
/** Creation timestamp */
|
|
370
|
+
createdAt: Schema.String,
|
|
371
|
+
/** Version message/comment */
|
|
372
|
+
message: Schema.optional(Schema.String),
|
|
373
|
+
/** Page info with title and body (when body-format is requested) */
|
|
374
|
+
page: Schema.optional(
|
|
375
|
+
Schema.Struct({
|
|
376
|
+
id: Schema.optional(Schema.String),
|
|
377
|
+
title: Schema.optional(Schema.String),
|
|
378
|
+
body: Schema.optional(
|
|
379
|
+
Schema.Struct({
|
|
380
|
+
storage: Schema.optional(
|
|
381
|
+
Schema.Struct({
|
|
382
|
+
value: Schema.String,
|
|
383
|
+
representation: Schema.optional(Schema.String)
|
|
384
|
+
})
|
|
385
|
+
)
|
|
386
|
+
})
|
|
387
|
+
)
|
|
388
|
+
})
|
|
389
|
+
)
|
|
390
|
+
})
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Type for page version info.
|
|
394
|
+
*
|
|
395
|
+
* @category Types
|
|
396
|
+
*/
|
|
397
|
+
export type PageVersion = Schema.Schema.Type<typeof PageVersionSchema>
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Schema for page version with content.
|
|
401
|
+
*
|
|
402
|
+
* @category Schema
|
|
403
|
+
*/
|
|
404
|
+
export const PageVersionContentSchema = Schema.Struct({
|
|
405
|
+
/** Version number */
|
|
406
|
+
number: Schema.Number,
|
|
407
|
+
/** Author account ID */
|
|
408
|
+
authorId: Schema.optional(Schema.String),
|
|
409
|
+
/** Creation timestamp */
|
|
410
|
+
createdAt: Schema.String,
|
|
411
|
+
/** Version message/comment */
|
|
412
|
+
message: Schema.optional(Schema.String),
|
|
413
|
+
/** Page content */
|
|
414
|
+
body: Schema.optional(
|
|
415
|
+
Schema.Struct({
|
|
416
|
+
storage: Schema.optional(
|
|
417
|
+
Schema.Struct({
|
|
418
|
+
value: Schema.String,
|
|
419
|
+
representation: Schema.optional(Schema.String)
|
|
420
|
+
})
|
|
421
|
+
)
|
|
422
|
+
})
|
|
423
|
+
)
|
|
424
|
+
})
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Type for page version with content.
|
|
428
|
+
*
|
|
429
|
+
* @category Types
|
|
430
|
+
*/
|
|
431
|
+
export type PageVersionContent = Schema.Schema.Type<typeof PageVersionContentSchema>
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Schema for page versions API response.
|
|
435
|
+
*
|
|
436
|
+
* @category Schema
|
|
437
|
+
*/
|
|
438
|
+
export const PageVersionsResponseSchema = Schema.Struct({
|
|
439
|
+
results: Schema.Array(PageVersionSchema),
|
|
440
|
+
_links: Schema.optional(
|
|
441
|
+
Schema.Struct({
|
|
442
|
+
next: Schema.optional(Schema.String)
|
|
443
|
+
})
|
|
444
|
+
)
|
|
445
|
+
})
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Type for page versions response.
|
|
449
|
+
*
|
|
450
|
+
* @category Types
|
|
451
|
+
*/
|
|
452
|
+
export type PageVersionsResponse = Schema.Schema.Type<typeof PageVersionsResponseSchema>
|