@cosmicdrift/kumiko-types 0.326.1 → 0.328.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 (173) hide show
  1. package/dist/action-icon.d.ts +3 -0
  2. package/dist/action-icon.js +51 -0
  3. package/{src/agent-exposure.ts → dist/agent-exposure.d.ts} +8 -15
  4. package/dist/agent-exposure.js +16 -0
  5. package/dist/concurrency-mode.d.ts +1 -0
  6. package/dist/config-scope.d.ts +1 -0
  7. package/dist/config-scope.js +1 -0
  8. package/dist/config.d.ts +234 -0
  9. package/dist/config.js +1 -0
  10. package/dist/cursor-types.d.ts +16 -0
  11. package/dist/cursor-types.js +1 -0
  12. package/dist/db-connection.d.ts +14 -0
  13. package/dist/db-connection.js +1 -0
  14. package/dist/define-handler.d.ts +58 -0
  15. package/dist/define-handler.js +1 -0
  16. package/dist/derivatives-types.d.ts +53 -0
  17. package/dist/derivatives-types.js +3 -0
  18. package/dist/entity-cache.d.ts +16 -0
  19. package/dist/entity-cache.js +1 -0
  20. package/dist/entity-handlers.d.ts +54 -0
  21. package/dist/entity-handlers.js +1 -0
  22. package/dist/entity-table-meta-types.d.ts +44 -0
  23. package/dist/entity-table-meta-types.js +6 -0
  24. package/dist/envelope-cipher-types.d.ts +5 -0
  25. package/dist/envelope-cipher-types.js +1 -0
  26. package/dist/event-store-executor-types.d.ts +86 -0
  27. package/dist/event-store-executor-types.js +1 -0
  28. package/dist/event-store-types.d.ts +37 -0
  29. package/dist/event-store-types.js +7 -0
  30. package/dist/event-type-map.d.ts +8 -0
  31. package/{src/event-type-map.ts → dist/event-type-map.js} +1 -16
  32. package/dist/executor-brand.d.ts +8 -0
  33. package/dist/executor-brand.js +1 -0
  34. package/dist/extension-options-map.d.ts +9 -0
  35. package/dist/extension-options-map.js +4 -0
  36. package/dist/feature.d.ts +518 -0
  37. package/dist/feature.js +1 -0
  38. package/dist/field-icon.d.ts +1 -0
  39. package/dist/field-icon.js +1 -0
  40. package/dist/fields.d.ts +729 -0
  41. package/dist/fields.js +50 -0
  42. package/dist/file-handle-types.d.ts +12 -0
  43. package/dist/file-handle-types.js +1 -0
  44. package/dist/file-provider-resolver-types.d.ts +3 -0
  45. package/dist/file-provider-resolver-types.js +1 -0
  46. package/dist/file-storage-provider-types.d.ts +17 -0
  47. package/dist/file-storage-provider-types.js +1 -0
  48. package/dist/geo-tz.d.ts +17 -0
  49. package/{src/geo-tz.ts → dist/geo-tz.js} +1 -20
  50. package/dist/handlers.d.ts +493 -0
  51. package/dist/handlers.js +49 -0
  52. package/dist/hook-phase.d.ts +1 -0
  53. package/dist/hook-phase.js +1 -0
  54. package/dist/hooks.d.ts +75 -0
  55. package/dist/hooks.js +1 -0
  56. package/dist/http-route.d.ts +52 -0
  57. package/dist/http-route.js +13 -0
  58. package/dist/identifiers.d.ts +8 -0
  59. package/{src/identifiers.ts → dist/identifiers.js} +7 -24
  60. package/dist/index.d.ts +1 -0
  61. package/dist/index.js +1 -0
  62. package/dist/kms-adapter-types.d.ts +68 -0
  63. package/dist/kms-adapter-types.js +49 -0
  64. package/dist/logger.d.ts +7 -0
  65. package/dist/logger.js +1 -0
  66. package/dist/multi-stream-apply-context-types.d.ts +18 -0
  67. package/dist/multi-stream-apply-context-types.js +1 -0
  68. package/dist/nav-icon.d.ts +3 -0
  69. package/dist/nav-icon.js +100 -0
  70. package/dist/nav.d.ts +39 -0
  71. package/dist/nav.js +1 -0
  72. package/dist/observability/index.d.ts +3 -0
  73. package/dist/observability/index.js +2 -0
  74. package/dist/observability/metric.d.ts +34 -0
  75. package/dist/observability/metric.js +3 -0
  76. package/dist/observability/provider.d.ts +24 -0
  77. package/dist/observability/provider.js +4 -0
  78. package/dist/observability/span.d.ts +32 -0
  79. package/dist/observability/span.js +4 -0
  80. package/dist/ownership.d.ts +33 -0
  81. package/dist/ownership.js +5 -0
  82. package/dist/projection.d.ts +38 -0
  83. package/dist/projection.js +1 -0
  84. package/dist/rate-limit-types.d.ts +19 -0
  85. package/dist/rate-limit-types.js +1 -0
  86. package/dist/relations.d.ts +25 -0
  87. package/dist/relations.js +1 -0
  88. package/dist/schema-table-types.d.ts +15 -0
  89. package/{src/schema-table-types.ts → dist/schema-table-types.js} +0 -20
  90. package/dist/screen.d.ts +1265 -0
  91. package/dist/screen.js +3 -0
  92. package/dist/search-adapter.d.ts +32 -0
  93. package/dist/search-adapter.js +1 -0
  94. package/dist/secrets-types.d.ts +52 -0
  95. package/dist/secrets-types.js +30 -0
  96. package/dist/snapshot-types.d.ts +13 -0
  97. package/dist/snapshot-types.js +1 -0
  98. package/dist/step.d.ts +304 -0
  99. package/dist/step.js +11 -0
  100. package/dist/target-ref.d.ts +5 -0
  101. package/{src/target-ref.ts → dist/target-ref.js} +1 -6
  102. package/dist/tenancy-brand.d.ts +6 -0
  103. package/dist/tenancy-brand.js +1 -0
  104. package/dist/tenant-db-types.d.ts +67 -0
  105. package/dist/tenant-db-types.js +5 -0
  106. package/dist/tree-node.d.ts +26 -0
  107. package/dist/tree-node.js +22 -0
  108. package/dist/tz-context.d.ts +48 -0
  109. package/dist/tz-context.js +6 -0
  110. package/dist/websocket-route.d.ts +46 -0
  111. package/dist/websocket-route.js +10 -0
  112. package/dist/where-clause-types.d.ts +20 -0
  113. package/dist/where-clause-types.js +1 -0
  114. package/dist/workspace.d.ts +10 -0
  115. package/dist/workspace.js +1 -0
  116. package/dist/write-error-info-types.d.ts +12 -0
  117. package/dist/write-error-info-types.js +1 -0
  118. package/package.json +362 -119
  119. package/src/changes.json +12 -0
  120. package/src/__tests__/handlers.test.ts +0 -40
  121. package/src/__tests__/plural-forms.test.ts +0 -18
  122. package/src/action-icon.ts +0 -57
  123. package/src/concurrency-mode.ts +0 -5
  124. package/src/config-scope.ts +0 -5
  125. package/src/config.ts +0 -563
  126. package/src/cursor-types.ts +0 -18
  127. package/src/db-connection.ts +0 -25
  128. package/src/define-handler.ts +0 -138
  129. package/src/derivatives-types.ts +0 -106
  130. package/src/entity-cache.ts +0 -35
  131. package/src/entity-handlers.ts +0 -68
  132. package/src/entity-table-meta-types.ts +0 -101
  133. package/src/envelope-cipher-types.ts +0 -6
  134. package/src/event-store-executor-types.ts +0 -163
  135. package/src/event-store-types.ts +0 -85
  136. package/src/executor-brand.ts +0 -19
  137. package/src/extension-options-map.ts +0 -21
  138. package/src/feature.ts +0 -1132
  139. package/src/field-icon.ts +0 -23
  140. package/src/fields.ts +0 -1114
  141. package/src/file-handle-types.ts +0 -20
  142. package/src/file-provider-resolver-types.ts +0 -7
  143. package/src/file-storage-provider-types.ts +0 -54
  144. package/src/handlers.ts +0 -1246
  145. package/src/hook-phase.ts +0 -2
  146. package/src/hooks.ts +0 -170
  147. package/src/http-route.ts +0 -78
  148. package/src/kms-adapter-types.ts +0 -128
  149. package/src/logger.ts +0 -7
  150. package/src/multi-stream-apply-context-types.ts +0 -52
  151. package/src/nav-icon.ts +0 -105
  152. package/src/nav.ts +0 -139
  153. package/src/observability/index.ts +0 -28
  154. package/src/observability/metric.ts +0 -56
  155. package/src/observability/provider.ts +0 -32
  156. package/src/observability/span.ts +0 -58
  157. package/src/ownership.ts +0 -83
  158. package/src/projection.ts +0 -170
  159. package/src/rate-limit-types.ts +0 -32
  160. package/src/relations.ts +0 -52
  161. package/src/screen.ts +0 -1593
  162. package/src/search-adapter.ts +0 -45
  163. package/src/secrets-types.ts +0 -182
  164. package/src/snapshot-types.ts +0 -36
  165. package/src/step.ts +0 -390
  166. package/src/tenancy-brand.ts +0 -9
  167. package/src/tenant-db-types.ts +0 -116
  168. package/src/tree-node.ts +0 -134
  169. package/src/tz-context.ts +0 -63
  170. package/src/where-clause-types.ts +0 -31
  171. package/src/workspace.ts +0 -42
  172. package/src/write-error-info-types.ts +0 -20
  173. /package/{src/index.ts → dist/concurrency-mode.js} +0 -0
@@ -1,40 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import { isUiAccessGranted } from "../handlers";
3
-
4
- describe("isUiAccessGranted", () => {
5
- test("unset access is visible to every signed-in user", () => {
6
- expect(isUiAccessGranted(undefined, [])).toBe(true);
7
- expect(isUiAccessGranted(undefined, undefined)).toBe(true);
8
- });
9
-
10
- test("openToAll with a non-empty reason grants regardless of roles", () => {
11
- expect(isUiAccessGranted({ openToAll: { reason: "any signed-in user" } }, [])).toBe(true);
12
- expect(isUiAccessGranted({ openToAll: { reason: "any signed-in user" } }, undefined)).toBe(
13
- true,
14
- );
15
- });
16
-
17
- test("openToAll with a blank reason denies — malformed/untyped input narrowed defensively", () => {
18
- expect(isUiAccessGranted({ openToAll: { reason: " " } }, [])).toBe(false);
19
- });
20
-
21
- test("roles rule grants on overlap", () => {
22
- expect(isUiAccessGranted({ roles: ["Admin", "SystemAdmin"] }, ["User", "Admin"])).toBe(true);
23
- });
24
-
25
- test("roles rule denies without overlap", () => {
26
- expect(isUiAccessGranted({ roles: ["Admin"] }, ["User"])).toBe(false);
27
- });
28
-
29
- test("roles rule denies when caller has no roles", () => {
30
- expect(isUiAccessGranted({ roles: ["Admin"] }, [])).toBe(false);
31
- });
32
-
33
- test("roles rule denies when caller roles are undefined", () => {
34
- expect(isUiAccessGranted({ roles: ["Admin"] }, undefined)).toBe(false);
35
- });
36
-
37
- test("empty roles rule denies everyone (explicit default-deny opt-in)", () => {
38
- expect(isUiAccessGranted({ roles: [] }, ["Admin"])).toBe(false);
39
- });
40
- });
@@ -1,18 +0,0 @@
1
- // Type-level contract for PluralForms (#3344): `other` is the CLDR-mandated
2
- // fallback and must stay required. The body below is never invoked — tsc
3
- // checks it, bun:test does not run it. If `other` ever becomes optional the
4
- // `@ts-expect-error` turns into an "unused directive" compile error.
5
-
6
- import { expect, test } from "bun:test";
7
- import type { PluralForms } from "../config";
8
-
9
- function _pluralFormsRequireOther(): readonly PluralForms[] {
10
- const withOther: PluralForms = { other: "items" };
11
- // @ts-expect-error — `other` is required; a plural entry without it must not typecheck.
12
- const missingOther: PluralForms = { one: "item" };
13
- return [withOther, missingOther];
14
- }
15
-
16
- test("PluralForms: compile-time contract is wired", () => {
17
- expect(_pluralFormsRequireOther).toBeDefined();
18
- });
@@ -1,57 +0,0 @@
1
- import type { IconKey } from "./nav-icon";
2
-
3
- // Part B (fw-ui-defaults): id-derived default icon for actions that never
4
- // declared one — a screen author still gets a recognizable glyph instead of
5
- // a bare label. Checked against the actually registered IconKey vocabulary
6
- // (nav-icon.ts) — no entry for verbs without a matching icon (e.g. "start",
7
- // "pause").
8
- export const ACTION_ICON_BY_ID: Readonly<Partial<Record<string, IconKey>>> = {
9
- delete: "trash",
10
- deletion: "trash",
11
- edit: "pencil",
12
- create: "plus",
13
- new: "plus",
14
- add: "plus",
15
- view: "eye",
16
- open: "eye",
17
- cancel: "x",
18
- reject: "x",
19
- complete: "check",
20
- resolve: "check",
21
- approve: "check",
22
- archive: "archive",
23
- publish: "upload",
24
- duplicate: "copy",
25
- copy: "copy",
26
- download: "download",
27
- refresh: "refresh",
28
- retry: "refresh",
29
- settings: "settings",
30
- share: "share",
31
- send: "send",
32
- };
33
-
34
- // Ids are kebab-case (RowAction.id doc): aggregate-object-verb
35
- // ("order-ship") or verb-prefix ("add-item").
36
- function kebabLastSegment(id: string): string {
37
- const idx = id.lastIndexOf("-");
38
- return idx === -1 ? id : id.slice(idx + 1);
39
- }
40
-
41
- function kebabFirstSegment(id: string): string {
42
- const idx = id.indexOf("-");
43
- return idx === -1 ? id : id.slice(0, idx);
44
- }
45
-
46
- // Resolution order: author-declared `icon` wins, then the id-derived
47
- // default (full id, then its last kebab segment, then its first kebab
48
- // segment). `declared` is `undefined` for ToolbarAction, which has no
49
- // author-facing icon field.
50
- export function resolveActionIcon(id: string, declared?: IconKey): IconKey | undefined {
51
- if (declared !== undefined) return declared;
52
- return (
53
- ACTION_ICON_BY_ID[id] ??
54
- ACTION_ICON_BY_ID[kebabLastSegment(id)] ??
55
- ACTION_ICON_BY_ID[kebabFirstSegment(id)]
56
- );
57
- }
@@ -1,5 +0,0 @@
1
- // Canonical source — packages/framework/src/engine/constants.ts's
2
- // ConcurrencyModes value object is `satisfies Record<string, ConcurrencyMode>`
3
- // against this type, so adding a mode only here (or only there) is a compile
4
- // error instead of silent drift (#1423/#1439).
5
- export type ConcurrencyMode = "parallel" | "skip" | "replace" | "sequential" | "debounce";
@@ -1,5 +0,0 @@
1
- // Canonical source — packages/framework/src/engine/constants.ts's
2
- // ConfigScopes value object is `satisfies Record<string, ConfigScope>`
3
- // against this type, so adding a scope only here (or only there) is a
4
- // compile error instead of silent drift (#1423/#1439).
5
- export type ConfigScope = "system" | "tenant" | "user";