skill-schedule 0.1.0 → 0.2.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.
Files changed (128) hide show
  1. package/SKILL.md +105 -0
  2. package/dist/cli/cmd_read.js +174 -116
  3. package/dist/cli/cmd_read.js.map +1 -1
  4. package/dist/cli/config.d.ts +16 -0
  5. package/dist/cli/config.d.ts.map +1 -0
  6. package/dist/cli/config.js +84 -0
  7. package/dist/cli/config.js.map +1 -0
  8. package/dist/cli/health.d.ts +7 -0
  9. package/dist/cli/health.d.ts.map +1 -0
  10. package/dist/cli/health.js +32 -0
  11. package/dist/cli/health.js.map +1 -0
  12. package/dist/config.d.ts +43 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +64 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/fetch/db.d.ts +4 -0
  17. package/dist/fetch/db.d.ts.map +1 -1
  18. package/dist/fetch/db.js +10 -0
  19. package/dist/fetch/db.js.map +1 -1
  20. package/dist/fetch/errors.d.ts +1 -1
  21. package/dist/fetch/errors.d.ts.map +1 -1
  22. package/dist/fetch/errors.js.map +1 -1
  23. package/dist/fetch/feishu.d.ts +33 -9
  24. package/dist/fetch/feishu.d.ts.map +1 -1
  25. package/dist/fetch/feishu.js +137 -23
  26. package/dist/fetch/feishu.js.map +1 -1
  27. package/dist/fetch/index.d.ts +4 -4
  28. package/dist/fetch/index.d.ts.map +1 -1
  29. package/dist/fetch/index.js +3 -3
  30. package/dist/fetch/index.js.map +1 -1
  31. package/dist/fetch/paths.d.ts +5 -3
  32. package/dist/fetch/paths.d.ts.map +1 -1
  33. package/dist/fetch/paths.js +19 -24
  34. package/dist/fetch/paths.js.map +1 -1
  35. package/dist/health.d.ts +41 -0
  36. package/dist/health.d.ts.map +1 -0
  37. package/dist/health.js +580 -0
  38. package/dist/health.js.map +1 -0
  39. package/dist/help/helpFile.d.ts +69 -0
  40. package/dist/help/helpFile.d.ts.map +1 -0
  41. package/dist/help/helpFile.js +136 -0
  42. package/dist/help/helpFile.js.map +1 -0
  43. package/dist/help/helpPaths.d.ts +14 -0
  44. package/dist/help/helpPaths.d.ts.map +1 -0
  45. package/dist/help/helpPaths.js +40 -0
  46. package/dist/help/helpPaths.js.map +1 -0
  47. package/dist/help/lookup.d.ts.map +1 -1
  48. package/dist/help/lookup.js +8 -1
  49. package/dist/help/lookup.js.map +1 -1
  50. package/dist/help/output.d.ts +22 -0
  51. package/dist/help/output.d.ts.map +1 -0
  52. package/dist/help/output.js +79 -0
  53. package/dist/help/output.js.map +1 -0
  54. package/dist/help/scenes/help-assets.d.ts +97 -0
  55. package/dist/help/scenes/help-assets.d.ts.map +1 -0
  56. package/dist/help/scenes/help-assets.js +2148 -0
  57. package/dist/help/scenes/help-assets.js.map +1 -0
  58. package/dist/plan/check.d.ts +3 -0
  59. package/dist/plan/check.d.ts.map +1 -0
  60. package/dist/plan/check.js +71 -0
  61. package/dist/plan/check.js.map +1 -0
  62. package/dist/plan/context.d.ts +18 -0
  63. package/dist/plan/context.d.ts.map +1 -0
  64. package/dist/plan/context.js +4 -0
  65. package/dist/plan/context.js.map +1 -0
  66. package/dist/plan/ensure.d.ts +4 -0
  67. package/dist/plan/ensure.d.ts.map +1 -0
  68. package/dist/plan/ensure.js +140 -0
  69. package/dist/plan/ensure.js.map +1 -0
  70. package/dist/plan/index.d.ts +8 -0
  71. package/dist/plan/index.d.ts.map +1 -0
  72. package/dist/plan/index.js +56 -0
  73. package/dist/plan/index.js.map +1 -0
  74. package/dist/plan/iso.d.ts +27 -0
  75. package/dist/plan/iso.d.ts.map +1 -0
  76. package/dist/plan/iso.js +55 -0
  77. package/dist/plan/iso.js.map +1 -0
  78. package/dist/plan/overview.d.ts +23 -0
  79. package/dist/plan/overview.d.ts.map +1 -0
  80. package/dist/plan/overview.js +38 -0
  81. package/dist/plan/overview.js.map +1 -0
  82. package/dist/plan/pull.d.ts +25 -0
  83. package/dist/plan/pull.d.ts.map +1 -0
  84. package/dist/plan/pull.js +83 -0
  85. package/dist/plan/pull.js.map +1 -0
  86. package/dist/plan/receipt.d.ts +52 -0
  87. package/dist/plan/receipt.d.ts.map +1 -0
  88. package/dist/plan/receipt.js +57 -0
  89. package/dist/plan/receipt.js.map +1 -0
  90. package/dist/plan/remoteDay.d.ts +62 -0
  91. package/dist/plan/remoteDay.d.ts.map +1 -0
  92. package/dist/plan/remoteDay.js +102 -0
  93. package/dist/plan/remoteDay.js.map +1 -0
  94. package/dist/plan/single.d.ts +4 -0
  95. package/dist/plan/single.d.ts.map +1 -0
  96. package/dist/plan/single.js +176 -0
  97. package/dist/plan/single.js.map +1 -0
  98. package/dist/plan/sync.d.ts +14 -0
  99. package/dist/plan/sync.d.ts.map +1 -0
  100. package/dist/plan/sync.js +158 -0
  101. package/dist/plan/sync.js.map +1 -0
  102. package/dist/plan/upsert.d.ts +5 -0
  103. package/dist/plan/upsert.d.ts.map +1 -0
  104. package/dist/plan/upsert.js +102 -0
  105. package/dist/plan/upsert.js.map +1 -0
  106. package/dist/policy/index.d.ts +2 -2
  107. package/dist/policy/index.d.ts.map +1 -1
  108. package/dist/policy/index.js +1 -1
  109. package/dist/policy/index.js.map +1 -1
  110. package/dist/policy/plan.d.ts +16 -1
  111. package/dist/policy/plan.d.ts.map +1 -1
  112. package/dist/policy/plan.js +51 -1
  113. package/dist/policy/plan.js.map +1 -1
  114. package/dist/policy/wakewords.js +4 -4
  115. package/dist/policy/wakewords.js.map +1 -1
  116. package/dist/render/html.d.ts +0 -6
  117. package/dist/render/html.d.ts.map +1 -1
  118. package/dist/render/html.js +0 -17
  119. package/dist/render/html.js.map +1 -1
  120. package/dist/render/index.d.ts +2 -1
  121. package/dist/render/index.d.ts.map +1 -1
  122. package/dist/render/index.js +3 -1
  123. package/dist/render/index.js.map +1 -1
  124. package/dist/shared/templateFill.d.ts +4 -0
  125. package/dist/shared/templateFill.d.ts.map +1 -0
  126. package/dist/shared/templateFill.js +20 -0
  127. package/dist/shared/templateFill.js.map +1 -0
  128. package/package.json +7 -4
@@ -2,7 +2,8 @@ export { ScheduleRenderError } from './errors.js';
2
2
  export { SCHEDULE_KEY_SHAPES, scheduleShapeFor, buildScheduleEnvelope, parseScheduleEnvelope } from './envelope.js';
3
3
  export { toRecordItem, buildRecordToday, buildRecordRange, buildRecordDetail, buildRecordReceipt, buildRecordCompare, buildCategoryDeep, buildAnomaly, toPlanItem, buildPlanToday, buildPlanReceipt, buildHelpItems, HELP_EMPTY_HINT, } from './views.js';
4
4
  export type { RecordItem, PlanItem, HelpItem } from './views.js';
5
- export { SCHEDULE_HTML_MAX_BYTES, escapeHtml, renderEnvelopeHtml, estimateBytes, assertHtmlSize, SHARED_CSS_MARKER, SHARED_HELPERS_MARKER, CONTENT_MARKER, SHARED_CSS, SHARED_HELPERS, fillTemplate, } from './html.js';
5
+ export { SCHEDULE_HTML_MAX_BYTES, escapeHtml, renderEnvelopeHtml, estimateBytes, assertHtmlSize, } from './html.js';
6
+ export { SHARED_CSS, SHARED_HELPERS, fillTemplate } from '../shared/templateFill.js';
6
7
  export { SCHEDULE_TEMPLATES, templateFor, loadTemplate } from './templates.js';
7
8
  export type { ScheduleTemplate } from './templates.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvF,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAC/E,gBAAgB,EAAE,cAAc,EAAE,eAAe,GAClD,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,uBAAuB,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EACtF,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,GACnG,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvF,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAC/E,gBAAgB,EAAE,cAAc,EAAE,eAAe,GAClD,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,uBAAuB,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,GACvF,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { ScheduleRenderError } from './errors.js';
2
2
  export { SCHEDULE_KEY_SHAPES, scheduleShapeFor, buildScheduleEnvelope, parseScheduleEnvelope } from './envelope.js';
3
3
  export { toRecordItem, buildRecordToday, buildRecordRange, buildRecordDetail, buildRecordReceipt, buildRecordCompare, buildCategoryDeep, buildAnomaly, toPlanItem, buildPlanToday, buildPlanReceipt, buildHelpItems, HELP_EMPTY_HINT, } from './views.js';
4
- export { SCHEDULE_HTML_MAX_BYTES, escapeHtml, renderEnvelopeHtml, estimateBytes, assertHtmlSize, SHARED_CSS_MARKER, SHARED_HELPERS_MARKER, CONTENT_MARKER, SHARED_CSS, SHARED_HELPERS, fillTemplate, } from './html.js';
4
+ export { SCHEDULE_HTML_MAX_BYTES, escapeHtml, renderEnvelopeHtml, estimateBytes, assertHtmlSize, } from './html.js';
5
+ // 共用位(定义地在 src/shared/templateFill.ts):转发保留,快照门读本文件的导出。
6
+ export { SHARED_CSS, SHARED_HELPERS, fillTemplate } from '../shared/templateFill.js';
5
7
  export { SCHEDULE_TEMPLATES, templateFor, loadTemplate } from './templates.js';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvF,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAC/E,gBAAgB,EAAE,cAAc,EAAE,eAAe,GAClD,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EACtF,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,GACnG,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvF,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAC/E,gBAAgB,EAAE,cAAc,EAAE,eAAe,GAClD,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,uBAAuB,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,GACvF,MAAM,WAAW,CAAC;AACnB,wDAAwD;AACxD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const SHARED_CSS = ".page{font-family:system-ui,sans-serif;max-width:720px;margin:0 auto;padding:12px}.item{border:1px solid #ddd;border-radius:8px;padding:8px;margin:8px 0}.item-head{display:flex;gap:8px;align-items:center}.badge{background:#eee;border-radius:4px;padding:0 6px}.receipt{background:#f0fff0;border:1px solid #090;border-radius:8px;padding:12px}.stat{display:flex;gap:8px}.analysis{white-space:pre-wrap}.hm-empty{color:#888}";
2
+ export declare const SHARED_HELPERS = "<script>function copyItem(id){var e=document.getElementById(id);if(e&&navigator.clipboard){navigator.clipboard.writeText(e.innerText);}}</script>";
3
+ export declare function fillTemplate(template: string, contentHtml: string): string;
4
+ //# sourceMappingURL=templateFill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateFill.d.ts","sourceRoot":"","sources":["../../src/shared/templateFill.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,waAAwa,CAAC;AAChc,eAAO,MAAM,cAAc,sJAAsJ,CAAC;AAElL,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAU1E"}
@@ -0,0 +1,20 @@
1
+ // 共用位·标记填充:模板三标记各恰出现 1 次,否则 throw;CSS 包 <style>,helpers 原样注入。
2
+ import { ScheduleRenderError } from '../render/errors.js';
3
+ // 共享标记填充(老家离线注入壳对应):CSS/HELPERS/CONTENT 三标记各恰出现 1 次,否则 throw。
4
+ const SHARED_CSS_MARKER = '<!--SHARED-CSS-->';
5
+ const SHARED_HELPERS_MARKER = '<!--SHARED-HELPERS-->';
6
+ const CONTENT_MARKER = '<!--CONTENT-->';
7
+ export const SHARED_CSS = '.page{font-family:system-ui,sans-serif;max-width:720px;margin:0 auto;padding:12px}.item{border:1px solid #ddd;border-radius:8px;padding:8px;margin:8px 0}.item-head{display:flex;gap:8px;align-items:center}.badge{background:#eee;border-radius:4px;padding:0 6px}.receipt{background:#f0fff0;border:1px solid #090;border-radius:8px;padding:12px}.stat{display:flex;gap:8px}.analysis{white-space:pre-wrap}.hm-empty{color:#888}';
8
+ export const SHARED_HELPERS = '<script>function copyItem(id){var e=document.getElementById(id);if(e&&navigator.clipboard){navigator.clipboard.writeText(e.innerText);}}</script>';
9
+ export function fillTemplate(template, contentHtml) {
10
+ for (const m of [SHARED_CSS_MARKER, SHARED_HELPERS_MARKER, CONTENT_MARKER]) {
11
+ if (template.split(m).length - 1 !== 1) {
12
+ throw new ScheduleRenderError('SCHEDULE_MARKER_INVALID', '标记须恰出现 1 次:' + m);
13
+ }
14
+ }
15
+ return template
16
+ .split(SHARED_CSS_MARKER).join('<style>' + SHARED_CSS + '</style>')
17
+ .split(SHARED_HELPERS_MARKER).join(SHARED_HELPERS)
18
+ .split(CONTENT_MARKER).join(contentHtml);
19
+ }
20
+ //# sourceMappingURL=templateFill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateFill.js","sourceRoot":"","sources":["../../src/shared/templateFill.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,qaAAqa,CAAC;AAChc,MAAM,CAAC,MAAM,cAAc,GAAG,mJAAmJ,CAAC;AAElL,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,WAAmB;IAChE,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3E,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ;SACZ,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;SAClE,KAAK,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;SACjD,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skill-schedule",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "作息管家SKILL一期:取数+口径+渲染+出口(record/plan 双域),依 link-core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,23 +10,26 @@
10
10
  "./fetch": "./dist/fetch/index.js",
11
11
  "./policy": "./dist/policy/index.js",
12
12
  "./render": "./dist/render/index.js",
13
- "./cli": "./dist/cli/cmd_read.js"
13
+ "./cli": "./dist/cli/cmd_read.js",
14
+ "./package.json": "./package.json"
14
15
  },
15
16
  "files": [
16
17
  "dist",
18
+ "SKILL.md",
17
19
  "templates/*.html"
18
20
  ],
19
21
  "bin": {
20
22
  "schedule-cmd-read": "./dist/cli/cmd_read.js"
21
23
  },
22
24
  "dependencies": {
23
- "base-link-core": "workspace:^0.1.0"
25
+ "base-link-core": "^0.3.0",
26
+ "base-paint": "^0.3.0"
24
27
  },
25
28
  "engines": {
26
29
  "node": ">=22.13"
27
30
  },
28
31
  "scripts": {
29
32
  "build": "tsc -b && node scripts/build-help.mjs",
30
- "test": "node --test ../../test/scaffold.test.mjs"
33
+ "test": "node --test ../../test/scaffold.test.mjs test/*.test.mjs"
31
34
  }
32
35
  }