@zlooks.cn/resume-shared 0.0.0-stage → 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,119 @@
1
+ import { createMicroClient, defineMicroContract } from '@hile/micro-contract';
2
+ import { browserApiPath } from '@zlooks.cn/browser-api';
3
+ import { z } from 'zod';
4
+ import { resumeDocumentSchema, resumePublicDocumentSchema } from './document.js';
5
+ import { DEFAULT_RESUME_SHARE_THEME, resumeShareThemeSchema } from './share-theme.js';
6
+ export * from './document.js';
7
+ export * from './share-theme.js';
8
+ export const RESUME_SERVICE_NAMESPACE = 'cn.zlooks.resume.server';
9
+ export const RESUME_PLUGIN_ID = 'resume';
10
+ export const RESUME_HOME_HREF = '/resume';
11
+ export const RESUME_PREVIEW_HREF = '/resume/preview';
12
+ export const RESUME_INITIAL_PARAM = '__resume_initial';
13
+ export const resumeCodeSchema = z.string().regex(/^[A-Za-z0-9_-]{43}$/);
14
+ export function resumeShareHref(code) {
15
+ return `${RESUME_HOME_HREF}/view/${resumeCodeSchema.parse(code)}`;
16
+ }
17
+ export function resumePdfHref(code) {
18
+ return browserApiPath(RESUME_SERVICE_NAMESPACE, `/pdf/${resumeCodeSchema.parse(code)}`);
19
+ }
20
+ export const resumeRecordSchema = z.strictObject({
21
+ id: z.uuid(),
22
+ revision: z.number().int().positive(),
23
+ document: resumeDocumentSchema,
24
+ createdAt: z.iso.datetime(),
25
+ updatedAt: z.iso.datetime(),
26
+ });
27
+ export const resumeShareSchema = z.strictObject({
28
+ id: z.uuid(),
29
+ revision: z.number().int().positive(),
30
+ note: z.string().max(120),
31
+ theme: resumeShareThemeSchema.default(DEFAULT_RESUME_SHARE_THEME),
32
+ createdAt: z.iso.datetime(),
33
+ expiresAt: z.iso.datetime(),
34
+ revokedAt: z.iso.datetime().nullable(),
35
+ status: z.enum(['active', 'expired', 'revoked']),
36
+ });
37
+ export const resumeErrorKindSchema = z.enum(['unauthorized', 'conflict', 'invalid', 'not-found', 'unavailable']);
38
+ export const RESUME_ERROR_CODES = {
39
+ unauthorized: 87001,
40
+ conflict: 87002,
41
+ invalid: 87003,
42
+ 'not-found': 87004,
43
+ unavailable: 87005,
44
+ origin: 87006,
45
+ };
46
+ export function resumeOutcome(value) {
47
+ return z.discriminatedUnion('outcome', [
48
+ z.strictObject({ outcome: z.literal('ok'), value }),
49
+ z.strictObject({
50
+ outcome: z.literal('error'),
51
+ kind: resumeErrorKindSchema,
52
+ message: z.string().max(200),
53
+ }),
54
+ ]);
55
+ }
56
+ const empty = z.strictObject({});
57
+ const expectedRevision = z.number().int().nonnegative();
58
+ export const resumeShareCommandSchema = z.strictObject({
59
+ expectedRevision,
60
+ theme: resumeShareThemeSchema.default(DEFAULT_RESUME_SHARE_THEME),
61
+ days: z.union([z.literal(1), z.literal(7), z.literal(30)]),
62
+ note: z.string().trim().max(120).refine((value) => !value.includes('\u0000')),
63
+ });
64
+ const acknowledged = z.strictObject({ done: z.literal(true) });
65
+ export const resumeAcknowledgedSchema = acknowledged;
66
+ export const resumeWorkspaceSchema = z.strictObject({ resume: resumeRecordSchema.nullable() });
67
+ export const resumeSharePageSchema = z.strictObject({
68
+ items: z.array(resumeShareSchema).max(20), total: z.number().int().nonnegative(), page: z.number().int(),
69
+ });
70
+ export const resumeCreatedShareSchema = z.strictObject({ share: resumeShareSchema, code: resumeCodeSchema });
71
+ export const sharedResumeSchema = z.strictObject({
72
+ document: resumePublicDocumentSchema,
73
+ theme: resumeShareThemeSchema.default(DEFAULT_RESUME_SHARE_THEME),
74
+ expiresAt: z.iso.datetime(),
75
+ });
76
+ export const resumeContract = defineMicroContract({
77
+ namespace: RESUME_SERVICE_NAMESPACE,
78
+ operations: {
79
+ read: {
80
+ path: '/workspace/read', input: empty,
81
+ output: resumeOutcome(resumeWorkspaceSchema),
82
+ },
83
+ save: {
84
+ path: '/draft/save', input: z.strictObject({ expectedRevision, document: resumeDocumentSchema }),
85
+ output: resumeOutcome(resumeRecordSchema),
86
+ },
87
+ delete: {
88
+ path: '/draft/delete', input: z.strictObject({ expectedRevision }), output: resumeOutcome(acknowledged),
89
+ },
90
+ createShare: {
91
+ path: '/shares/create',
92
+ input: resumeShareCommandSchema,
93
+ output: resumeOutcome(resumeCreatedShareSchema),
94
+ },
95
+ listShares: {
96
+ path: '/shares/list', input: z.strictObject({ page: z.number().int().min(1).max(1000000) }),
97
+ output: resumeOutcome(resumeSharePageSchema),
98
+ },
99
+ revokeShare: {
100
+ path: '/shares/revoke', input: z.strictObject({ id: z.uuid() }), output: resumeOutcome(acknowledged),
101
+ },
102
+ revokeAll: { path: '/shares/revoke-all', input: empty, output: resumeOutcome(acknowledged) },
103
+ readShare: {
104
+ path: '/public/read', input: z.strictObject({ code: resumeCodeSchema }), output: resumeOutcome(sharedResumeSchema),
105
+ },
106
+ },
107
+ });
108
+ export const createResumeMicroClient = (caller) => createMicroClient(caller, resumeContract);
109
+ export function resumeBrowserPath(operation) {
110
+ return browserApiPath(RESUME_SERVICE_NAMESPACE, '/api' + resumeContract.operations[operation].path);
111
+ }
112
+ export const resumeInitialSchema = z.discriminatedUnion('status', [
113
+ z.strictObject({ status: z.literal('anonymous') }),
114
+ z.strictObject({ status: z.literal('unavailable') }),
115
+ z.strictObject({ status: z.literal('missing') }),
116
+ z.strictObject({ status: z.literal('shared'), share: sharedResumeSchema }),
117
+ z.strictObject({ status: z.literal('owner'), resume: resumeRecordSchema.nullable() }),
118
+ ]);
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { z } from 'zod';
2
+ export declare const resumeShareThemeSchema: z.ZodEnum<{
3
+ graphite: "graphite";
4
+ navy: "navy";
5
+ paper: "paper";
6
+ sage: "sage";
7
+ swiss: "swiss";
8
+ terracotta: "terracotta";
9
+ }>;
10
+ export type ResumeShareTheme = z.infer<typeof resumeShareThemeSchema>;
11
+ export declare const DEFAULT_RESUME_SHARE_THEME: ResumeShareTheme;
12
+ export declare const RESUME_SHARE_THEMES: readonly [{
13
+ readonly id: 'paper';
14
+ readonly letter: 'A';
15
+ readonly name: '纸白';
16
+ readonly style: '经典文档';
17
+ readonly description: '宋体标题与暖白纸色,让内容成为主角。';
18
+ }, {
19
+ readonly id: 'navy';
20
+ readonly letter: 'B';
21
+ readonly name: '深蓝';
22
+ readonly style: '商务双栏';
23
+ readonly description: '深蓝个人侧栏,完整清晰的专业信息层次。';
24
+ }, {
25
+ readonly id: 'sage';
26
+ readonly letter: 'C';
27
+ readonly name: '松绿';
28
+ readonly style: '轻盈现代';
29
+ readonly description: '横向名片与开放分栏,留白舒展、阅读轻松。';
30
+ }, {
31
+ readonly id: 'graphite';
32
+ readonly letter: 'D';
33
+ readonly name: '石墨';
34
+ readonly style: '暗色技术志';
35
+ readonly description: '石墨底色与章节索引,呈现技术积累。';
36
+ }, {
37
+ readonly id: 'terracotta';
38
+ readonly letter: 'E';
39
+ readonly name: '陶土';
40
+ readonly style: '温暖作品集';
41
+ readonly description: '陶土色封面与项目展签,突出代表作品。';
42
+ }, {
43
+ readonly id: 'swiss';
44
+ readonly letter: 'F';
45
+ readonly name: '赤线';
46
+ readonly style: '瑞士网格';
47
+ readonly description: '黑白大字与赤色标记,直接、有序。';
48
+ }];
49
+ export declare function resumeShareThemeName(id: ResumeShareTheme): "松绿" | "深蓝" | "石墨" | "纸白" | "赤线" | "陶土";
50
+ //# sourceMappingURL=share-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-theme.d.ts","sourceRoot":"","sources":["../src/share-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;EAAuE,CAAC;AAC3G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,0BAA0B,EAAE,gBAAyB,CAAC;AAEnE,eAAO,MAAM,mBAAmB;iBACxB,OAAO;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,MAAM;0BAAe,oBAAoB;;iBAClF,MAAM;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,MAAM;0BAAe,qBAAqB;;iBAClF,MAAM;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,MAAM;0BAAe,sBAAsB;;iBACnF,UAAU;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,OAAO;0BAAe,mBAAmB;;iBACrF,YAAY;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,OAAO;0BAAe,oBAAoB;;iBACxF,OAAO;qBAAU,GAAG;mBAAQ,IAAI;oBAAS,MAAM;0BAAe,kBAAkB;EAGrF,CAAC;AAEJ,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,2CAExD"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export const resumeShareThemeSchema = z.enum(['paper', 'navy', 'sage', 'graphite', 'terracotta', 'swiss']);
3
+ export const DEFAULT_RESUME_SHARE_THEME = 'navy';
4
+ export const RESUME_SHARE_THEMES = [
5
+ { id: 'paper', letter: 'A', name: '纸白', style: '经典文档', description: '宋体标题与暖白纸色,让内容成为主角。' },
6
+ { id: 'navy', letter: 'B', name: '深蓝', style: '商务双栏', description: '深蓝个人侧栏,完整清晰的专业信息层次。' },
7
+ { id: 'sage', letter: 'C', name: '松绿', style: '轻盈现代', description: '横向名片与开放分栏,留白舒展、阅读轻松。' },
8
+ { id: 'graphite', letter: 'D', name: '石墨', style: '暗色技术志', description: '石墨底色与章节索引,呈现技术积累。' },
9
+ { id: 'terracotta', letter: 'E', name: '陶土', style: '温暖作品集', description: '陶土色封面与项目展签,突出代表作品。' },
10
+ { id: 'swiss', letter: 'F', name: '赤线', style: '瑞士网格', description: '黑白大字与赤色标记,直接、有序。' },
11
+ ];
12
+ export function resumeShareThemeName(id) {
13
+ return RESUME_SHARE_THEMES.find((item) => item.id === id).name;
14
+ }
15
+ //# sourceMappingURL=share-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-theme.js","sourceRoot":"","sources":["../src/share-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,0BAA0B,GAAqB,MAAM,CAAC;AAEnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAC1F,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAC1F,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC3F,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC7F,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAChG,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;CAGvF,CAAC;AAEJ,MAAM,UAAU,oBAAoB,CAAC,EAAoB;IACvD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC,IAAI,CAAC;AAClE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,32 @@
1
1
  {
2
2
  "name": "@zlooks.cn/resume-shared",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.2",
4
+ "private": false,
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js"
10
+ }
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "scripts": {
16
+ "build": "tsc -p tsconfig.json && fix-esm-import-path --preserve-import-type ./dist",
17
+ "test": "vitest run",
18
+ "typecheck": "tsc -p tsconfig.json --noEmit"
19
+ },
20
+ "dependencies": {
21
+ "@hile/micro-contract": "1.0.1",
22
+ "@zlooks.cn/browser-api": "1.1.0",
23
+ "zod": "4.4.3"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "26.2.0",
27
+ "fix-esm-import-path": "1.10.3",
28
+ "typescript": "7.0.2",
29
+ "vitest": "4.1.11"
30
+ },
31
+ "gitHead": "eb0810183abd534f4370ed3389a75734bc913389"
32
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.