@kernhq/module-tracker 0.1.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 (158) hide show
  1. package/LICENSE +662 -0
  2. package/README.md +265 -0
  3. package/dist/contract/events.d.ts +140 -0
  4. package/dist/contract/events.d.ts.map +1 -0
  5. package/dist/contract/events.js +51 -0
  6. package/dist/contract/events.js.map +1 -0
  7. package/dist/contract/index.d.ts +6 -0
  8. package/dist/contract/index.d.ts.map +1 -0
  9. package/dist/contract/index.js +6 -0
  10. package/dist/contract/index.js.map +1 -0
  11. package/dist/contract/models.d.ts +2547 -0
  12. package/dist/contract/models.d.ts.map +1 -0
  13. package/dist/contract/models.js +1214 -0
  14. package/dist/contract/models.js.map +1 -0
  15. package/dist/contract/notifications.d.ts +4 -0
  16. package/dist/contract/notifications.d.ts.map +1 -0
  17. package/dist/contract/notifications.js +46 -0
  18. package/dist/contract/notifications.js.map +1 -0
  19. package/dist/contract/permissions.d.ts +161 -0
  20. package/dist/contract/permissions.d.ts.map +1 -0
  21. package/dist/contract/permissions.js +192 -0
  22. package/dist/contract/permissions.js.map +1 -0
  23. package/dist/contract/router.d.ts +9659 -0
  24. package/dist/contract/router.d.ts.map +1 -0
  25. package/dist/contract/router.js +732 -0
  26. package/dist/contract/router.js.map +1 -0
  27. package/dist/kql/ast.d.ts +90 -0
  28. package/dist/kql/ast.d.ts.map +1 -0
  29. package/dist/kql/ast.js +80 -0
  30. package/dist/kql/ast.js.map +1 -0
  31. package/dist/kql/dates.d.ts +16 -0
  32. package/dist/kql/dates.d.ts.map +1 -0
  33. package/dist/kql/dates.js +54 -0
  34. package/dist/kql/dates.js.map +1 -0
  35. package/dist/kql/fields.d.ts +61 -0
  36. package/dist/kql/fields.d.ts.map +1 -0
  37. package/dist/kql/fields.js +106 -0
  38. package/dist/kql/fields.js.map +1 -0
  39. package/dist/kql/index.d.ts +16 -0
  40. package/dist/kql/index.d.ts.map +1 -0
  41. package/dist/kql/index.js +16 -0
  42. package/dist/kql/index.js.map +1 -0
  43. package/dist/kql/lexer.d.ts +28 -0
  44. package/dist/kql/lexer.d.ts.map +1 -0
  45. package/dist/kql/lexer.js +127 -0
  46. package/dist/kql/lexer.js.map +1 -0
  47. package/dist/kql/parser.d.ts +14 -0
  48. package/dist/kql/parser.d.ts.map +1 -0
  49. package/dist/kql/parser.js +290 -0
  50. package/dist/kql/parser.js.map +1 -0
  51. package/dist/kql/suggest.d.ts +8 -0
  52. package/dist/kql/suggest.d.ts.map +1 -0
  53. package/dist/kql/suggest.js +96 -0
  54. package/dist/kql/suggest.js.map +1 -0
  55. package/dist/kql/validate.d.ts +10 -0
  56. package/dist/kql/validate.d.ts.map +1 -0
  57. package/dist/kql/validate.js +84 -0
  58. package/dist/kql/validate.js.map +1 -0
  59. package/dist/server/index.d.ts +17 -0
  60. package/dist/server/index.d.ts.map +1 -0
  61. package/dist/server/index.js +583 -0
  62. package/dist/server/index.js.map +1 -0
  63. package/dist/server/kql/compile.d.ts +49 -0
  64. package/dist/server/kql/compile.d.ts.map +1 -0
  65. package/dist/server/kql/compile.js +372 -0
  66. package/dist/server/kql/compile.js.map +1 -0
  67. package/dist/server/rank.d.ts +23 -0
  68. package/dist/server/rank.d.ts.map +1 -0
  69. package/dist/server/rank.js +66 -0
  70. package/dist/server/rank.js.map +1 -0
  71. package/dist/server/rich.d.ts +30 -0
  72. package/dist/server/rich.d.ts.map +1 -0
  73. package/dist/server/rich.js +97 -0
  74. package/dist/server/rich.js.map +1 -0
  75. package/dist/server/router.d.ts +10589 -0
  76. package/dist/server/router.d.ts.map +1 -0
  77. package/dist/server/router.js +431 -0
  78. package/dist/server/router.js.map +1 -0
  79. package/dist/server/schema.d.ts +6622 -0
  80. package/dist/server/schema.d.ts.map +1 -0
  81. package/dist/server/schema.js +581 -0
  82. package/dist/server/schema.js.map +1 -0
  83. package/dist/server/services/access.d.ts +53 -0
  84. package/dist/server/services/access.d.ts.map +1 -0
  85. package/dist/server/services/access.js +146 -0
  86. package/dist/server/services/access.js.map +1 -0
  87. package/dist/server/services/comments.d.ts +36 -0
  88. package/dist/server/services/comments.d.ts.map +1 -0
  89. package/dist/server/services/comments.js +231 -0
  90. package/dist/server/services/comments.js.map +1 -0
  91. package/dist/server/services/config.d.ts +130 -0
  92. package/dist/server/services/config.d.ts.map +1 -0
  93. package/dist/server/services/config.js +797 -0
  94. package/dist/server/services/config.js.map +1 -0
  95. package/dist/server/services/db.d.ts +93 -0
  96. package/dist/server/services/db.d.ts.map +1 -0
  97. package/dist/server/services/db.js +519 -0
  98. package/dist/server/services/db.js.map +1 -0
  99. package/dist/server/services/imports.d.ts +37 -0
  100. package/dist/server/services/imports.d.ts.map +1 -0
  101. package/dist/server/services/imports.js +324 -0
  102. package/dist/server/services/imports.js.map +1 -0
  103. package/dist/server/services/index.d.ts +36 -0
  104. package/dist/server/services/index.d.ts.map +1 -0
  105. package/dist/server/services/index.js +57 -0
  106. package/dist/server/services/index.js.map +1 -0
  107. package/dist/server/services/intake.d.ts +47 -0
  108. package/dist/server/services/intake.d.ts.map +1 -0
  109. package/dist/server/services/intake.js +268 -0
  110. package/dist/server/services/intake.js.map +1 -0
  111. package/dist/server/services/issues.d.ts +763 -0
  112. package/dist/server/services/issues.d.ts.map +1 -0
  113. package/dist/server/services/issues.js +1381 -0
  114. package/dist/server/services/issues.js.map +1 -0
  115. package/dist/server/services/notify.d.ts +51 -0
  116. package/dist/server/services/notify.d.ts.map +1 -0
  117. package/dist/server/services/notify.js +90 -0
  118. package/dist/server/services/notify.js.map +1 -0
  119. package/dist/server/services/planning.d.ts +62 -0
  120. package/dist/server/services/planning.d.ts.map +1 -0
  121. package/dist/server/services/planning.js +614 -0
  122. package/dist/server/services/planning.js.map +1 -0
  123. package/dist/server/services/projects.d.ts +43 -0
  124. package/dist/server/services/projects.d.ts.map +1 -0
  125. package/dist/server/services/projects.js +375 -0
  126. package/dist/server/services/projects.js.map +1 -0
  127. package/dist/server/services/query.d.ts +24 -0
  128. package/dist/server/services/query.d.ts.map +1 -0
  129. package/dist/server/services/query.js +312 -0
  130. package/dist/server/services/query.js.map +1 -0
  131. package/dist/server/services/reports.d.ts +30 -0
  132. package/dist/server/services/reports.d.ts.map +1 -0
  133. package/dist/server/services/reports.js +295 -0
  134. package/dist/server/services/reports.js.map +1 -0
  135. package/dist/server/services/time.d.ts +53 -0
  136. package/dist/server/services/time.d.ts.map +1 -0
  137. package/dist/server/services/time.js +192 -0
  138. package/dist/server/services/time.js.map +1 -0
  139. package/dist/server/services/transitions.d.ts +61 -0
  140. package/dist/server/services/transitions.d.ts.map +1 -0
  141. package/dist/server/services/transitions.js +493 -0
  142. package/dist/server/services/transitions.js.map +1 -0
  143. package/dist/server/services/views.d.ts +33 -0
  144. package/dist/server/services/views.d.ts.map +1 -0
  145. package/dist/server/services/views.js +195 -0
  146. package/dist/server/services/views.js.map +1 -0
  147. package/migrations/0000_init.sql +529 -0
  148. package/migrations/0001_rls.sql +259 -0
  149. package/migrations/meta/0000_snapshot.json +4140 -0
  150. package/migrations/meta/_journal.json +20 -0
  151. package/package.json +82 -0
  152. package/src/client/api.ts +15 -0
  153. package/src/client/format.ts +164 -0
  154. package/src/client/group.ts +150 -0
  155. package/src/client/index.ts +60 -0
  156. package/src/client/kql.ts +492 -0
  157. package/src/client/rank.ts +87 -0
  158. package/src/client/types.ts +57 -0
@@ -0,0 +1,130 @@
1
+ import type { Principal } from '@kernhq/contracts';
2
+ import { type Kernel, type Tx } from '@kernhq/kernel';
3
+ import { type WorkflowDefinition } from '@kernhq/workflow';
4
+ import type { z } from 'zod';
5
+ import { type FieldDef, type FieldScheme, HierarchyRules, type StatusInfo, type TypeScheme, type UpsertFieldDef, type UpsertWorkflow, type UpsertWorkflowScheme as UpsertWorkflowSchemeSchema, type UpsertWorkItemType, type Workflow, type WorkflowScheme, type WorkItemType } from '../../contract/models.js';
6
+ import type { AccessService } from './access.js';
7
+ import { type FieldDefRow, type ProjectRow, type WorkflowRow, type WorkItemTypeRow } from './db.js';
8
+ import type { NotifyService } from './notify.js';
9
+ type UpsertWorkflowScheme = z.infer<typeof UpsertWorkflowSchemeSchema>;
10
+ /** Work item types, custom fields, workflows and the schemes that bind them to projects. */
11
+ export declare class ConfigService {
12
+ private readonly kernel;
13
+ private readonly access;
14
+ private readonly notify;
15
+ constructor(kernel: Kernel, access: AccessService, notify: NotifyService);
16
+ /** Configuration is cached hard in the client, so every change has to be announced. */
17
+ private announce;
18
+ listTypes(tx: Tx, workspaceId: string, opts?: {
19
+ projectId?: string;
20
+ includeArchived?: boolean;
21
+ }): Promise<WorkItemTypeRow[]>;
22
+ private typeSchemeFor;
23
+ getType(tx: Tx, workspaceId: string, id: string): Promise<WorkItemTypeRow>;
24
+ /** The type new issues get when the caller does not name one. */
25
+ defaultType(tx: Tx, workspaceId: string, projectId: string): Promise<WorkItemTypeRow>;
26
+ createType(tx: Tx, workspaceId: string, input: UpsertWorkItemType, actorId: string | null): Promise<WorkItemType>;
27
+ updateType(tx: Tx, workspaceId: string, id: string, patch: Partial<UpsertWorkItemType>): Promise<WorkItemType>;
28
+ archiveType(tx: Tx, workspaceId: string, id: string, archived: boolean): Promise<WorkItemType>;
29
+ private assertTypeKeyFree;
30
+ private clearDefaultType;
31
+ hierarchyRules(tx: Tx, workspaceId: string): Promise<HierarchyRules>;
32
+ setHierarchyRules(tx: Tx, workspaceId: string, rules: HierarchyRules): Promise<HierarchyRules>;
33
+ listTypeSchemes(tx: Tx, workspaceId: string): Promise<TypeScheme[]>;
34
+ createTypeScheme(tx: Tx, workspaceId: string, input: {
35
+ name: string;
36
+ typeIds: string[];
37
+ defaultTypeId?: string | null;
38
+ }): Promise<TypeScheme>;
39
+ updateTypeScheme(tx: Tx, workspaceId: string, id: string, patch: {
40
+ name?: string;
41
+ typeIds?: string[];
42
+ defaultTypeId?: string | null;
43
+ }): Promise<TypeScheme>;
44
+ deleteTypeScheme(tx: Tx, workspaceId: string, id: string): Promise<void>;
45
+ listFieldRows(tx: Tx, workspaceId: string, opts?: {
46
+ projectId?: string;
47
+ includeArchived?: boolean;
48
+ }): Promise<FieldDefRow[]>;
49
+ listFields(tx: Tx, workspaceId: string, opts?: {
50
+ projectId?: string;
51
+ includeArchived?: boolean;
52
+ }): Promise<FieldDef[]>;
53
+ /** Fields visible across a set of projects (KQL autocomplete over a multi-project view). */
54
+ fieldsForProjects(tx: Tx, workspaceId: string, projectIds: string[]): Promise<FieldDef[]>;
55
+ createField(tx: Tx, workspaceId: string, input: UpsertFieldDef): Promise<FieldDef>;
56
+ updateField(tx: Tx, workspaceId: string, id: string, patch: Partial<Omit<UpsertFieldDef, 'key' | 'type'>>): Promise<FieldDef>;
57
+ archiveField(tx: Tx, workspaceId: string, id: string, archived: boolean): Promise<FieldDef>;
58
+ /** Deleting a field also strips its values from every issue: the key would otherwise be unreachable. */
59
+ deleteField(tx: Tx, workspaceId: string, id: string): Promise<void>;
60
+ listFieldSchemes(tx: Tx, workspaceId: string): Promise<FieldScheme[]>;
61
+ createFieldScheme(tx: Tx, workspaceId: string, input: {
62
+ name: string;
63
+ fieldIds: string[];
64
+ }): Promise<FieldScheme>;
65
+ updateFieldScheme(tx: Tx, workspaceId: string, id: string, patch: {
66
+ name?: string;
67
+ fieldIds?: string[];
68
+ }): Promise<FieldScheme>;
69
+ deleteFieldScheme(tx: Tx, workspaceId: string, id: string): Promise<void>;
70
+ listWorkflows(tx: Tx, workspaceId: string, opts?: {
71
+ projectId?: string;
72
+ includeArchived?: boolean;
73
+ }): Promise<Workflow[]>;
74
+ getWorkflowRow(tx: Tx, workspaceId: string, id: string): Promise<WorkflowRow>;
75
+ createWorkflow(tx: Tx, workspaceId: string, input: UpsertWorkflow): Promise<Workflow>;
76
+ updateWorkflow(tx: Tx, workspaceId: string, id: string, patch: Partial<UpsertWorkflow>): Promise<Workflow>;
77
+ /** Refuse to drop a status that issues still sit in — they would become unreachable. */
78
+ private assertStatusesStillUsed;
79
+ private clearDefaultWorkflow;
80
+ archiveWorkflow(tx: Tx, workspaceId: string, id: string, archived: boolean): Promise<Workflow>;
81
+ /** Row → contract shape, for the router. */
82
+ toContractType(row: WorkItemTypeRow): WorkItemType;
83
+ toContractWorkflow(row: WorkflowRow): Workflow;
84
+ /** Structural validation of a definition without saving it. */
85
+ validate(definition: unknown): {
86
+ ok: boolean;
87
+ problems: Array<{
88
+ path: string;
89
+ message: string;
90
+ }>;
91
+ };
92
+ workflowTemplates(): Array<{
93
+ id: string;
94
+ name: string;
95
+ definition: WorkflowDefinition;
96
+ }>;
97
+ listWorkflowSchemes(tx: Tx, workspaceId: string): Promise<WorkflowScheme[]>;
98
+ createWorkflowScheme(tx: Tx, workspaceId: string, input: UpsertWorkflowScheme): Promise<WorkflowScheme>;
99
+ updateWorkflowScheme(tx: Tx, workspaceId: string, id: string, patch: Partial<UpsertWorkflowScheme>): Promise<WorkflowScheme>;
100
+ deleteWorkflowScheme(tx: Tx, workspaceId: string, id: string): Promise<void>;
101
+ /**
102
+ * The workflow an issue of `typeId` follows in `project`:
103
+ * explicit type workflow → project's workflow scheme → project default → workspace default.
104
+ */
105
+ workflowFor(tx: Tx, project: ProjectRow, typeId: string): Promise<{
106
+ workflowId: string;
107
+ definition: WorkflowDefinition;
108
+ }>;
109
+ /** Every status of every workflow the project can use, deduplicated for board columns and KQL. */
110
+ statusesForProject(tx: Tx, workspaceId: string, projectId?: string): Promise<StatusInfo[]>;
111
+ /** Create the workflow and types a brand-new project starts with. */
112
+ seedProject(tx: Tx, workspaceId: string, projectId: string, template: string): Promise<{
113
+ workflowId: string;
114
+ typeIds: string[];
115
+ defaultTypeId: string;
116
+ }>;
117
+ /** Restore a project blueprint saved with `projects.templates.saveFromProject`. */
118
+ applyProjectTemplateBody(tx: Tx, workspaceId: string, projectId: string, body: Record<string, unknown>): Promise<{
119
+ workflowId: string;
120
+ defaultTypeId: string;
121
+ } | null>;
122
+ /** Snapshot a project's configuration so another project can be created from it. */
123
+ snapshotProject(tx: Tx, workspaceId: string, projectId: string): Promise<Record<string, unknown>>;
124
+ /** Ensure a set of type ids all belong to this workspace (scheme validation). */
125
+ assertTypesExist(tx: Tx, workspaceId: string, ids: string[]): Promise<void>;
126
+ /** Permission gate shared by every configuration mutation. */
127
+ requireWorkspacePermission(principal: Principal, workspaceId: string, permission: string): Promise<void>;
128
+ }
129
+ export {};
130
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/services/config.ts"],"names":[],"mappings":"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"}