instant-cli 1.0.33 → 1.0.34

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 (80) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/__tests__/multiSelect.test.ts +236 -0
  3. package/__tests__/select.test.ts +224 -0
  4. package/__tests__/webhooks.test.ts +728 -0
  5. package/dist/commands/webhooks/add.d.ts +9 -0
  6. package/dist/commands/webhooks/add.d.ts.map +1 -0
  7. package/dist/commands/webhooks/add.js +75 -0
  8. package/dist/commands/webhooks/add.js.map +1 -0
  9. package/dist/commands/webhooks/delete.d.ts +6 -0
  10. package/dist/commands/webhooks/delete.d.ts.map +1 -0
  11. package/dist/commands/webhooks/delete.js +17 -0
  12. package/dist/commands/webhooks/delete.js.map +1 -0
  13. package/dist/commands/webhooks/disable.d.ts +7 -0
  14. package/dist/commands/webhooks/disable.d.ts.map +1 -0
  15. package/dist/commands/webhooks/disable.js +18 -0
  16. package/dist/commands/webhooks/disable.js.map +1 -0
  17. package/dist/commands/webhooks/enable.d.ts +6 -0
  18. package/dist/commands/webhooks/enable.d.ts.map +1 -0
  19. package/dist/commands/webhooks/enable.js +18 -0
  20. package/dist/commands/webhooks/enable.js.map +1 -0
  21. package/dist/commands/webhooks/events/list.d.ts +7 -0
  22. package/dist/commands/webhooks/events/list.d.ts.map +1 -0
  23. package/dist/commands/webhooks/events/list.js +31 -0
  24. package/dist/commands/webhooks/events/list.js.map +1 -0
  25. package/dist/commands/webhooks/events/payload.d.ts +8 -0
  26. package/dist/commands/webhooks/events/payload.d.ts.map +1 -0
  27. package/dist/commands/webhooks/events/payload.js +39 -0
  28. package/dist/commands/webhooks/events/payload.js.map +1 -0
  29. package/dist/commands/webhooks/events/resend.d.ts +8 -0
  30. package/dist/commands/webhooks/events/resend.d.ts.map +1 -0
  31. package/dist/commands/webhooks/events/resend.js +43 -0
  32. package/dist/commands/webhooks/events/resend.js.map +1 -0
  33. package/dist/commands/webhooks/list.d.ts +8 -0
  34. package/dist/commands/webhooks/list.d.ts.map +1 -0
  35. package/dist/commands/webhooks/list.js +29 -0
  36. package/dist/commands/webhooks/list.js.map +1 -0
  37. package/dist/commands/webhooks/shared.d.ts +40 -0
  38. package/dist/commands/webhooks/shared.d.ts.map +1 -0
  39. package/dist/commands/webhooks/shared.js +248 -0
  40. package/dist/commands/webhooks/shared.js.map +1 -0
  41. package/dist/commands/webhooks/update.d.ts +10 -0
  42. package/dist/commands/webhooks/update.d.ts.map +1 -0
  43. package/dist/commands/webhooks/update.js +189 -0
  44. package/dist/commands/webhooks/update.js.map +1 -0
  45. package/dist/index.d.ts +45 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +141 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/layer.d.ts +2 -2
  50. package/dist/layer.d.ts.map +1 -1
  51. package/dist/layer.js +30 -1
  52. package/dist/layer.js.map +1 -1
  53. package/dist/lib/webhooks.d.ts +28 -0
  54. package/dist/lib/webhooks.d.ts.map +1 -0
  55. package/dist/lib/webhooks.js +102 -0
  56. package/dist/lib/webhooks.js.map +1 -0
  57. package/dist/ui/index.d.ts +39 -1
  58. package/dist/ui/index.d.ts.map +1 -1
  59. package/dist/ui/index.js +387 -25
  60. package/dist/ui/index.js.map +1 -1
  61. package/dist/ui/lib.d.ts +7 -0
  62. package/dist/ui/lib.d.ts.map +1 -1
  63. package/dist/ui/lib.js +40 -1
  64. package/dist/ui/lib.js.map +1 -1
  65. package/package.json +4 -4
  66. package/src/commands/webhooks/add.ts +111 -0
  67. package/src/commands/webhooks/delete.ts +23 -0
  68. package/src/commands/webhooks/disable.ts +24 -0
  69. package/src/commands/webhooks/enable.ts +24 -0
  70. package/src/commands/webhooks/events/list.ts +38 -0
  71. package/src/commands/webhooks/events/payload.ts +56 -0
  72. package/src/commands/webhooks/events/resend.ts +66 -0
  73. package/src/commands/webhooks/list.ts +41 -0
  74. package/src/commands/webhooks/shared.ts +339 -0
  75. package/src/commands/webhooks/update.ts +276 -0
  76. package/src/index.ts +242 -0
  77. package/src/layer.ts +33 -1
  78. package/src/lib/webhooks.ts +127 -0
  79. package/src/ui/index.ts +465 -32
  80. package/src/ui/lib.ts +41 -1
@@ -0,0 +1,102 @@
1
+ import { Effect } from 'effect';
2
+ import { PlatformApi as InstantPlatformApi, } from '@instantdb/platform';
3
+ import { AuthToken } from "../context/authToken.js";
4
+ import { CurrentApp } from "../context/currentApp.js";
5
+ import { PlatformApiError } from "../context/platformApi.js";
6
+ import { BadArgsError } from "../errors.js";
7
+ import { getBaseUrl } from "./http.js";
8
+ const getAuthedPlatformApi = Effect.gen(function* () {
9
+ const apiURI = yield* getBaseUrl;
10
+ const authToken = yield* AuthToken;
11
+ const token = yield* authToken.getAuthToken;
12
+ return new InstantPlatformApi({ apiURI, auth: { token } });
13
+ });
14
+ export const WEBHOOK_ACTIONS = [
15
+ 'create',
16
+ 'update',
17
+ 'delete',
18
+ ];
19
+ export const useWebhooksManager = (fun, errorMessage) => Effect.gen(function* () {
20
+ const api = yield* getAuthedPlatformApi;
21
+ const { appId } = yield* CurrentApp;
22
+ return yield* Effect.tryPromise({
23
+ try: () => fun(api.webhooks(appId).manager),
24
+ catch: (e) => new PlatformApiError({
25
+ message: errorMessage ?? 'Error using webhooks api',
26
+ cause: e,
27
+ }),
28
+ });
29
+ });
30
+ /**
31
+ * Yields a `WebhooksManager` instance scoped to the current app. Use when you
32
+ * need to hold on to the manager outside an Effect (e.g. to call from inside
33
+ * an async UI callback).
34
+ */
35
+ export const buildWebhooksManager = Effect.gen(function* () {
36
+ const api = yield* getAuthedPlatformApi;
37
+ const { appId } = yield* CurrentApp;
38
+ return api.webhooks(appId).manager;
39
+ });
40
+ /**
41
+ * Fetches the app's schema and returns the sorted list of namespace names. Returns
42
+ * `null` if the schema can't be fetched (network, auth, missing app, etc.) so
43
+ * callers can fall back to a plain text prompt.
44
+ */
45
+ export const getRemoteNamespaces = Effect.gen(function* () {
46
+ const api = yield* getAuthedPlatformApi;
47
+ const { appId } = yield* CurrentApp;
48
+ const result = yield* Effect.tryPromise(() => api.getSchema(appId)).pipe(Effect.orElseSucceed(() => null));
49
+ if (!result)
50
+ return null;
51
+ const entities = result.schema?.entities ?? {};
52
+ return Object.keys(entities).sort();
53
+ });
54
+ /**
55
+ * Pages through `manager.listEvents` until we have `limit` events or the server
56
+ * runs out. Returns the events in their natural (newest-first) order.
57
+ */
58
+ export const fetchRecentEvents = (webhookId, limit) => Effect.gen(function* () {
59
+ const collected = [];
60
+ let after;
61
+ while (collected.length < limit) {
62
+ const page = yield* useWebhooksManager((m) => m.listEvents(webhookId, after ? { after } : undefined), 'Error listing webhook events');
63
+ collected.push(...page.events);
64
+ if (!page.pageInfo.hasNextPage || !page.pageInfo.endCursor)
65
+ break;
66
+ after = page.pageInfo.endCursor;
67
+ }
68
+ return collected.slice(0, limit);
69
+ });
70
+ const splitCsv = (s) => s
71
+ .split(',')
72
+ .map((t) => t.trim())
73
+ .filter((t) => t.length > 0);
74
+ export const parseNamespaces = (raw) => Effect.gen(function* () {
75
+ if (raw === undefined)
76
+ return undefined;
77
+ const namespaces = splitCsv(raw);
78
+ if (namespaces.length === 0) {
79
+ return yield* BadArgsError.make({
80
+ message: '--namespaces must include at least one namespace',
81
+ });
82
+ }
83
+ return namespaces;
84
+ });
85
+ export const parseActions = (raw) => Effect.gen(function* () {
86
+ if (raw === undefined)
87
+ return undefined;
88
+ const tokens = splitCsv(raw);
89
+ if (tokens.length === 0) {
90
+ return yield* BadArgsError.make({
91
+ message: '--actions must include at least one action',
92
+ });
93
+ }
94
+ const invalid = tokens.filter((t) => !WEBHOOK_ACTIONS.includes(t));
95
+ if (invalid.length > 0) {
96
+ return yield* BadArgsError.make({
97
+ message: `Invalid action${invalid.length === 1 ? '' : 's'}: ${invalid.join(', ')}. Must be one of: ${WEBHOOK_ACTIONS.join(', ')}`,
98
+ });
99
+ }
100
+ return tokens;
101
+ });
102
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/lib/webhooks.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from 'effect';\nimport {\n PlatformApi as InstantPlatformApi,\n type WebhookAction,\n type WebhookEventInfo,\n type WebhooksManager,\n} from '@instantdb/platform';\nimport { AuthToken } from '../context/authToken.ts';\nimport { CurrentApp } from '../context/currentApp.ts';\nimport { PlatformApiError } from '../context/platformApi.ts';\nimport { BadArgsError } from '../errors.ts';\nimport { getBaseUrl } from './http.ts';\n\nconst getAuthedPlatformApi = Effect.gen(function* () {\n const apiURI = yield* getBaseUrl;\n const authToken = yield* AuthToken;\n const token = yield* authToken.getAuthToken;\n return new InstantPlatformApi({ apiURI, auth: { token } });\n});\n\nexport const WEBHOOK_ACTIONS: readonly WebhookAction[] = [\n 'create',\n 'update',\n 'delete',\n] as const;\n\nexport const useWebhooksManager = <R>(\n fun: (manager: WebhooksManager<any>) => Promise<R>,\n errorMessage?: string,\n) =>\n Effect.gen(function* () {\n const api = yield* getAuthedPlatformApi;\n const { appId } = yield* CurrentApp;\n return yield* Effect.tryPromise({\n try: () => fun(api.webhooks(appId).manager),\n catch: (e) =>\n new PlatformApiError({\n message: errorMessage ?? 'Error using webhooks api',\n cause: e,\n }),\n });\n });\n\n/**\n * Yields a `WebhooksManager` instance scoped to the current app. Use when you\n * need to hold on to the manager outside an Effect (e.g. to call from inside\n * an async UI callback).\n */\nexport const buildWebhooksManager = Effect.gen(function* () {\n const api = yield* getAuthedPlatformApi;\n const { appId } = yield* CurrentApp;\n return api.webhooks(appId).manager;\n});\n\n/**\n * Fetches the app's schema and returns the sorted list of namespace names. Returns\n * `null` if the schema can't be fetched (network, auth, missing app, etc.) so\n * callers can fall back to a plain text prompt.\n */\nexport const getRemoteNamespaces = Effect.gen(function* () {\n const api = yield* getAuthedPlatformApi;\n const { appId } = yield* CurrentApp;\n const result = yield* Effect.tryPromise(() => api.getSchema(appId)).pipe(\n Effect.orElseSucceed(() => null),\n );\n if (!result) return null;\n const entities = result.schema?.entities ?? {};\n return Object.keys(entities).sort();\n});\n\n/**\n * Pages through `manager.listEvents` until we have `limit` events or the server\n * runs out. Returns the events in their natural (newest-first) order.\n */\nexport const fetchRecentEvents = (webhookId: string, limit: number) =>\n Effect.gen(function* () {\n const collected: WebhookEventInfo[] = [];\n let after: string | undefined;\n while (collected.length < limit) {\n const page = yield* useWebhooksManager(\n (m) => m.listEvents(webhookId, after ? { after } : undefined),\n 'Error listing webhook events',\n );\n collected.push(...page.events);\n if (!page.pageInfo.hasNextPage || !page.pageInfo.endCursor) break;\n after = page.pageInfo.endCursor;\n }\n return collected.slice(0, limit);\n });\n\nconst splitCsv = (s: string) =>\n s\n .split(',')\n .map((t) => t.trim())\n .filter((t) => t.length > 0);\n\nexport const parseNamespaces = (raw: string | undefined) =>\n Effect.gen(function* () {\n if (raw === undefined) return undefined;\n const namespaces = splitCsv(raw);\n if (namespaces.length === 0) {\n return yield* BadArgsError.make({\n message: '--namespaces must include at least one namespace',\n });\n }\n return namespaces;\n });\n\nexport const parseActions = (raw: string | undefined) =>\n Effect.gen(function* () {\n if (raw === undefined) return undefined;\n const tokens = splitCsv(raw);\n if (tokens.length === 0) {\n return yield* BadArgsError.make({\n message: '--actions must include at least one action',\n });\n }\n const invalid = tokens.filter(\n (t): t is string => !WEBHOOK_ACTIONS.includes(t as WebhookAction),\n );\n if (invalid.length > 0) {\n return yield* BadArgsError.make({\n message: `Invalid action${invalid.length === 1 ? '' : 's'}: ${invalid.join(', ')}. Must be one of: ${WEBHOOK_ACTIONS.join(', ')}`,\n });\n }\n return tokens as WebhookAction[];\n });\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Prompt } from './lib.ts';
2
2
  import type { AnyKey, ModifyOutputFn } from './lib.ts';
3
- export { render, renderUnwrap, setRawModeWindowsFriendly } from './lib.ts';
3
+ export { clearPromptTrail, render, renderUnwrap, setRawModeWindowsFriendly, } from './lib.ts';
4
4
  export declare namespace UI {
5
5
  type Status = 'idle' | 'submitted' | 'aborted';
6
6
  export const modifiers: {
@@ -21,6 +21,7 @@ export declare namespace UI {
21
21
  options: {
22
22
  value: T;
23
23
  label: string;
24
+ expandableLabel?: string | (() => string | Promise<string>);
24
25
  secondary?: boolean;
25
26
  }[];
26
27
  promptText: string;
@@ -32,10 +33,47 @@ export declare namespace UI {
32
33
  private readonly data;
33
34
  private readonly options;
34
35
  private readonly params;
36
+ private expandedIdx;
37
+ private stickyExpanded;
38
+ private readonly expansionCache;
39
+ private readonly expansionLoading;
35
40
  constructor(params: SelectProps<T>);
41
+ private applyNavigation;
42
+ private expandFocused;
43
+ private getExpansionContent;
36
44
  result(): T;
37
45
  render(status: 'idle' | 'submitted' | 'aborted'): string;
38
46
  }
47
+ export type MultiSelectOption<T> = {
48
+ value: T;
49
+ label: string;
50
+ };
51
+ type MultiSelectProps<T> = {
52
+ options: MultiSelectOption<T>[];
53
+ promptText: string;
54
+ initialSelected?: T[];
55
+ filter?: (filter: string, option: MultiSelectOption<T>) => boolean;
56
+ minSelected?: number;
57
+ pageSize?: number;
58
+ modifyOutput?: ModifyOutputFn;
59
+ };
60
+ export class MultiSelect<T> extends Prompt<T[]> {
61
+ private filterText;
62
+ private cursorIdx;
63
+ private windowStart;
64
+ private selected;
65
+ private errorText;
66
+ private readonly props;
67
+ private readonly pageSize;
68
+ constructor(props: MultiSelectProps<T>);
69
+ private visibleIndices;
70
+ private clampCursor;
71
+ private adjustWindow;
72
+ private handleKey;
73
+ result(): T[];
74
+ private renderOption;
75
+ render(status: 'idle' | 'submitted' | 'aborted'): string;
76
+ }
39
77
  /**
40
78
  * @deprecated use the modifyOutput prop instead
41
79
  * left as an example of how to do wrapper prompts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}