@thjodann/wk 1.0.0

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 (153) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +197 -0
  3. package/dist/cli/commands/article.d.ts +2 -0
  4. package/dist/cli/commands/article.js +47 -0
  5. package/dist/cli/commands/article.js.map +1 -0
  6. package/dist/cli/commands/closeout.d.ts +2 -0
  7. package/dist/cli/commands/closeout.js +37 -0
  8. package/dist/cli/commands/closeout.js.map +1 -0
  9. package/dist/cli/commands/compile.d.ts +2 -0
  10. package/dist/cli/commands/compile.js +50 -0
  11. package/dist/cli/commands/compile.js.map +1 -0
  12. package/dist/cli/commands/concept.d.ts +2 -0
  13. package/dist/cli/commands/concept.js +36 -0
  14. package/dist/cli/commands/concept.js.map +1 -0
  15. package/dist/cli/commands/decision.d.ts +2 -0
  16. package/dist/cli/commands/decision.js +38 -0
  17. package/dist/cli/commands/decision.js.map +1 -0
  18. package/dist/cli/commands/event.d.ts +2 -0
  19. package/dist/cli/commands/event.js +32 -0
  20. package/dist/cli/commands/event.js.map +1 -0
  21. package/dist/cli/commands/init.d.ts +2 -0
  22. package/dist/cli/commands/init.js +52 -0
  23. package/dist/cli/commands/init.js.map +1 -0
  24. package/dist/cli/commands/installAgent.d.ts +2 -0
  25. package/dist/cli/commands/installAgent.js +130 -0
  26. package/dist/cli/commands/installAgent.js.map +1 -0
  27. package/dist/cli/commands/link.d.ts +2 -0
  28. package/dist/cli/commands/link.js +36 -0
  29. package/dist/cli/commands/link.js.map +1 -0
  30. package/dist/cli/commands/note.d.ts +2 -0
  31. package/dist/cli/commands/note.js +34 -0
  32. package/dist/cli/commands/note.js.map +1 -0
  33. package/dist/cli/commands/pages.d.ts +2 -0
  34. package/dist/cli/commands/pages.js +46 -0
  35. package/dist/cli/commands/pages.js.map +1 -0
  36. package/dist/cli/commands/record.d.ts +2 -0
  37. package/dist/cli/commands/record.js +101 -0
  38. package/dist/cli/commands/record.js.map +1 -0
  39. package/dist/cli/commands/render.d.ts +2 -0
  40. package/dist/cli/commands/render.js +33 -0
  41. package/dist/cli/commands/render.js.map +1 -0
  42. package/dist/cli/commands/search.d.ts +2 -0
  43. package/dist/cli/commands/search.js +125 -0
  44. package/dist/cli/commands/search.js.map +1 -0
  45. package/dist/cli/commands/setup.d.ts +2 -0
  46. package/dist/cli/commands/setup.js +53 -0
  47. package/dist/cli/commands/setup.js.map +1 -0
  48. package/dist/cli/commands/site.d.ts +2 -0
  49. package/dist/cli/commands/site.js +47 -0
  50. package/dist/cli/commands/site.js.map +1 -0
  51. package/dist/cli/commands/spin.d.ts +2 -0
  52. package/dist/cli/commands/spin.js +43 -0
  53. package/dist/cli/commands/spin.js.map +1 -0
  54. package/dist/cli/commands/status.d.ts +2 -0
  55. package/dist/cli/commands/status.js +63 -0
  56. package/dist/cli/commands/status.js.map +1 -0
  57. package/dist/cli/commands/symbol.d.ts +2 -0
  58. package/dist/cli/commands/symbol.js +37 -0
  59. package/dist/cli/commands/symbol.js.map +1 -0
  60. package/dist/cli/commands/theme.d.ts +2 -0
  61. package/dist/cli/commands/theme.js +52 -0
  62. package/dist/cli/commands/theme.js.map +1 -0
  63. package/dist/cli/commands/validate.d.ts +2 -0
  64. package/dist/cli/commands/validate.js +44 -0
  65. package/dist/cli/commands/validate.js.map +1 -0
  66. package/dist/cli/helpers.d.ts +30 -0
  67. package/dist/cli/helpers.js +131 -0
  68. package/dist/cli/helpers.js.map +1 -0
  69. package/dist/core/articles.d.ts +5 -0
  70. package/dist/core/articles.js +25 -0
  71. package/dist/core/articles.js.map +1 -0
  72. package/dist/core/automation.d.ts +96 -0
  73. package/dist/core/automation.js +384 -0
  74. package/dist/core/automation.js.map +1 -0
  75. package/dist/core/beads.d.ts +43 -0
  76. package/dist/core/beads.js +358 -0
  77. package/dist/core/beads.js.map +1 -0
  78. package/dist/core/compiler.d.ts +45 -0
  79. package/dist/core/compiler.js +399 -0
  80. package/dist/core/compiler.js.map +1 -0
  81. package/dist/core/config.d.ts +59 -0
  82. package/dist/core/config.js +187 -0
  83. package/dist/core/config.js.map +1 -0
  84. package/dist/core/git.d.ts +21 -0
  85. package/dist/core/git.js +109 -0
  86. package/dist/core/git.js.map +1 -0
  87. package/dist/core/ids.d.ts +2 -0
  88. package/dist/core/ids.js +8 -0
  89. package/dist/core/ids.js.map +1 -0
  90. package/dist/core/pages.d.ts +34 -0
  91. package/dist/core/pages.js +233 -0
  92. package/dist/core/pages.js.map +1 -0
  93. package/dist/core/paths.d.ts +15 -0
  94. package/dist/core/paths.js +67 -0
  95. package/dist/core/paths.js.map +1 -0
  96. package/dist/core/profiles.d.ts +30 -0
  97. package/dist/core/profiles.js +243 -0
  98. package/dist/core/profiles.js.map +1 -0
  99. package/dist/core/renderer.d.ts +8 -0
  100. package/dist/core/renderer.js +106 -0
  101. package/dist/core/renderer.js.map +1 -0
  102. package/dist/core/schemas.d.ts +1039 -0
  103. package/dist/core/schemas.js +108 -0
  104. package/dist/core/schemas.js.map +1 -0
  105. package/dist/core/site.d.ts +20 -0
  106. package/dist/core/site.js +2684 -0
  107. package/dist/core/site.js.map +1 -0
  108. package/dist/core/spin.d.ts +42 -0
  109. package/dist/core/spin.js +265 -0
  110. package/dist/core/spin.js.map +1 -0
  111. package/dist/core/store.d.ts +29 -0
  112. package/dist/core/store.js +146 -0
  113. package/dist/core/store.js.map +1 -0
  114. package/dist/core/theme.d.ts +35 -0
  115. package/dist/core/theme.js +1086 -0
  116. package/dist/core/theme.js.map +1 -0
  117. package/dist/core/validator.d.ts +8 -0
  118. package/dist/core/validator.js +154 -0
  119. package/dist/core/validator.js.map +1 -0
  120. package/dist/index.d.ts +3 -0
  121. package/dist/index.js +61 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/templates/articlesPage.d.ts +3 -0
  124. package/dist/templates/articlesPage.js +46 -0
  125. package/dist/templates/articlesPage.js.map +1 -0
  126. package/dist/templates/conceptsPage.d.ts +2 -0
  127. package/dist/templates/conceptsPage.js +24 -0
  128. package/dist/templates/conceptsPage.js.map +1 -0
  129. package/dist/templates/decisionsPage.d.ts +2 -0
  130. package/dist/templates/decisionsPage.js +27 -0
  131. package/dist/templates/decisionsPage.js.map +1 -0
  132. package/dist/templates/devlogPage.d.ts +2 -0
  133. package/dist/templates/devlogPage.js +22 -0
  134. package/dist/templates/devlogPage.js.map +1 -0
  135. package/dist/templates/indexPage.d.ts +6 -0
  136. package/dist/templates/indexPage.js +33 -0
  137. package/dist/templates/indexPage.js.map +1 -0
  138. package/dist/templates/linksPage.d.ts +2 -0
  139. package/dist/templates/linksPage.js +26 -0
  140. package/dist/templates/linksPage.js.map +1 -0
  141. package/dist/templates/notesPage.d.ts +2 -0
  142. package/dist/templates/notesPage.js +26 -0
  143. package/dist/templates/notesPage.js.map +1 -0
  144. package/dist/templates/symbolsPage.d.ts +2 -0
  145. package/dist/templates/symbolsPage.js +25 -0
  146. package/dist/templates/symbolsPage.js.map +1 -0
  147. package/docs/concepts.md +249 -0
  148. package/docs/reference.md +356 -0
  149. package/docs/setup.md +331 -0
  150. package/docs/workflows.md +154 -0
  151. package/package.json +61 -0
  152. package/skills/wk/SKILL.md +251 -0
  153. package/skills/wk/agents/openai.yaml +4 -0
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordTypes = exports.recordSchemas = exports.anyRecordSchema = exports.linkSchema = exports.symbolSchema = exports.articleSchema = exports.noteSchema = exports.eventSchema = exports.decisionSchema = exports.conceptSchema = exports.confidenceSchema = exports.authoritySchema = exports.sourceSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.sourceSchema = zod_1.z.enum(["manual", "agent", "git-diff", "imported"]);
6
+ exports.authoritySchema = zod_1.z.enum(["user", "agent", "system"]);
7
+ exports.confidenceSchema = zod_1.z.enum(["low", "medium", "high"]);
8
+ const stringArraySchema = zod_1.z.array(zod_1.z.string());
9
+ const recordBaseSchema = zod_1.z.object({
10
+ id: zod_1.z.string().min(1),
11
+ source: exports.sourceSchema,
12
+ authority: exports.authoritySchema,
13
+ confidence: exports.confidenceSchema,
14
+ deleted_at: zod_1.z.string().datetime().optional(),
15
+ delete_reason: zod_1.z.string().optional()
16
+ });
17
+ const timestampedSchema = recordBaseSchema.extend({
18
+ created_at: zod_1.z.string().datetime(),
19
+ updated_at: zod_1.z.string().datetime().optional()
20
+ });
21
+ const updatableSchema = timestampedSchema.extend({
22
+ updated_at: zod_1.z.string().datetime()
23
+ });
24
+ exports.conceptSchema = updatableSchema.extend({
25
+ type: zod_1.z.literal("concept"),
26
+ name: zod_1.z.string().min(1),
27
+ summary: zod_1.z.string().min(1),
28
+ details: zod_1.z.string(),
29
+ files: stringArraySchema,
30
+ tags: stringArraySchema
31
+ });
32
+ exports.decisionSchema = updatableSchema.extend({
33
+ type: zod_1.z.literal("decision"),
34
+ title: zod_1.z.string().min(1),
35
+ context: zod_1.z.string(),
36
+ decision: zod_1.z.string().min(1),
37
+ consequences: zod_1.z.string(),
38
+ files: stringArraySchema,
39
+ tags: stringArraySchema
40
+ });
41
+ exports.eventSchema = timestampedSchema.extend({
42
+ type: zod_1.z.literal("event"),
43
+ summary: zod_1.z.string().min(1),
44
+ details: zod_1.z.string(),
45
+ files: stringArraySchema,
46
+ tags: stringArraySchema.default([])
47
+ });
48
+ exports.noteSchema = timestampedSchema.extend({
49
+ type: zod_1.z.literal("note"),
50
+ title: zod_1.z.string().min(1).optional(),
51
+ body: zod_1.z.string().min(1),
52
+ files: stringArraySchema.default([]),
53
+ tags: stringArraySchema
54
+ });
55
+ exports.articleSchema = updatableSchema.extend({
56
+ type: zod_1.z.literal("article"),
57
+ title: zod_1.z.string().min(1),
58
+ slug: zod_1.z.string().min(1),
59
+ summary: zod_1.z.string().min(1),
60
+ body: zod_1.z.string(),
61
+ categories: stringArraySchema.default([]),
62
+ aliases: stringArraySchema.default([]),
63
+ source_record_ids: stringArraySchema.default([]),
64
+ files: stringArraySchema.default([]),
65
+ tags: stringArraySchema.default([])
66
+ });
67
+ exports.symbolSchema = updatableSchema.extend({
68
+ type: zod_1.z.literal("symbol"),
69
+ name: zod_1.z.string().min(1),
70
+ kind: zod_1.z.string().min(1),
71
+ file: zod_1.z.string().min(1),
72
+ summary: zod_1.z.string(),
73
+ tags: stringArraySchema.default([])
74
+ });
75
+ exports.linkSchema = timestampedSchema.extend({
76
+ type: zod_1.z.literal("link"),
77
+ from: zod_1.z.string().min(1),
78
+ to: zod_1.z.string().min(1),
79
+ relationship: zod_1.z.string().min(1)
80
+ });
81
+ exports.anyRecordSchema = zod_1.z.discriminatedUnion("type", [
82
+ exports.conceptSchema,
83
+ exports.decisionSchema,
84
+ exports.eventSchema,
85
+ exports.noteSchema,
86
+ exports.articleSchema,
87
+ exports.symbolSchema,
88
+ exports.linkSchema
89
+ ]);
90
+ exports.recordSchemas = {
91
+ article: exports.articleSchema,
92
+ concept: exports.conceptSchema,
93
+ decision: exports.decisionSchema,
94
+ event: exports.eventSchema,
95
+ note: exports.noteSchema,
96
+ symbol: exports.symbolSchema,
97
+ link: exports.linkSchema
98
+ };
99
+ exports.recordTypes = [
100
+ "article",
101
+ "concept",
102
+ "decision",
103
+ "event",
104
+ "note",
105
+ "symbol",
106
+ "link"
107
+ ];
108
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type WikiwikiSiteTheme } from "./config";
2
+ import { type SiteAudience } from "./profiles";
3
+ export declare const siteGeneratedNotice = "<!-- Generated by Wikiwiki from .wikiwiki/records. Edit structured records instead, then run `wk site`. -->";
4
+ export declare const siteStaticPageFileNames: readonly ["index.html", "articles.html", "guides.html", "concepts.html", "decisions.html", "devlog.html", "notes.html", "symbols.html", "links.html", "work.html", "search.html"];
5
+ export type SiteFile = {
6
+ fileName: string;
7
+ content: string;
8
+ };
9
+ export type SiteOptions = {
10
+ sourceBaseUrl?: string;
11
+ audience?: SiteAudience;
12
+ };
13
+ export type ResolvedSiteOptions = {
14
+ sourceBaseUrl?: string;
15
+ theme: WikiwikiSiteTheme;
16
+ audience: SiteAudience;
17
+ };
18
+ export declare function buildSiteFiles(root: string, options?: SiteOptions): SiteFile[];
19
+ export declare function renderSite(root: string, options?: SiteOptions): string[];
20
+ export declare function resolveSiteOptions(root: string, options?: SiteOptions): ResolvedSiteOptions;