@loxtep/sdk 0.2.1 → 0.3.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 (171) hide show
  1. package/README.md +152 -5
  2. package/dist/authoring/agent.d.ts +164 -0
  3. package/dist/authoring/agent.d.ts.map +1 -0
  4. package/dist/authoring/agent.js +376 -0
  5. package/dist/authoring/agent.js.map +1 -0
  6. package/dist/authoring/compiler.d.ts +98 -0
  7. package/dist/authoring/compiler.d.ts.map +1 -0
  8. package/dist/authoring/compiler.js +156 -0
  9. package/dist/authoring/compiler.js.map +1 -0
  10. package/dist/authoring/define-data-workflow.d.ts +24 -0
  11. package/dist/authoring/define-data-workflow.d.ts.map +1 -0
  12. package/dist/authoring/define-data-workflow.js +93 -0
  13. package/dist/authoring/define-data-workflow.js.map +1 -0
  14. package/dist/authoring/index.d.ts +19 -0
  15. package/dist/authoring/index.d.ts.map +1 -0
  16. package/dist/authoring/index.js +15 -0
  17. package/dist/authoring/index.js.map +1 -0
  18. package/dist/authoring/toolbox.d.ts +133 -0
  19. package/dist/authoring/toolbox.d.ts.map +1 -0
  20. package/dist/authoring/toolbox.js +166 -0
  21. package/dist/authoring/toolbox.js.map +1 -0
  22. package/dist/authoring/triggers.d.ts +41 -0
  23. package/dist/authoring/triggers.d.ts.map +1 -0
  24. package/dist/authoring/triggers.js +60 -0
  25. package/dist/authoring/triggers.js.map +1 -0
  26. package/dist/authoring/types.d.ts +64 -0
  27. package/dist/authoring/types.d.ts.map +1 -0
  28. package/dist/authoring/types.js +9 -0
  29. package/dist/authoring/types.js.map +1 -0
  30. package/dist/cli/commands/activity-cmd.d.ts +28 -0
  31. package/dist/cli/commands/activity-cmd.d.ts.map +1 -0
  32. package/dist/cli/commands/activity-cmd.js +78 -0
  33. package/dist/cli/commands/activity-cmd.js.map +1 -0
  34. package/dist/cli/commands/attach-cmd.d.ts +38 -0
  35. package/dist/cli/commands/attach-cmd.d.ts.map +1 -0
  36. package/dist/cli/commands/attach-cmd.js +141 -0
  37. package/dist/cli/commands/attach-cmd.js.map +1 -0
  38. package/dist/cli/commands/deploy-cmd.d.ts +101 -0
  39. package/dist/cli/commands/deploy-cmd.d.ts.map +1 -0
  40. package/dist/cli/commands/deploy-cmd.js +461 -0
  41. package/dist/cli/commands/deploy-cmd.js.map +1 -0
  42. package/dist/cli/commands/generate-cmd.d.ts +35 -0
  43. package/dist/cli/commands/generate-cmd.d.ts.map +1 -0
  44. package/dist/cli/commands/generate-cmd.js +134 -0
  45. package/dist/cli/commands/generate-cmd.js.map +1 -0
  46. package/dist/cli/commands/improvements-cmd.d.ts +44 -0
  47. package/dist/cli/commands/improvements-cmd.d.ts.map +1 -0
  48. package/dist/cli/commands/improvements-cmd.js +215 -0
  49. package/dist/cli/commands/improvements-cmd.js.map +1 -0
  50. package/dist/cli/commands/init-cmd.d.ts +78 -0
  51. package/dist/cli/commands/init-cmd.d.ts.map +1 -0
  52. package/dist/cli/commands/init-cmd.js +250 -0
  53. package/dist/cli/commands/init-cmd.js.map +1 -0
  54. package/dist/cli/commands/login.d.ts +4 -4
  55. package/dist/cli/commands/login.js +4 -4
  56. package/dist/cli/commands/login.js.map +1 -1
  57. package/dist/cli/commands/test-cmd.d.ts +89 -0
  58. package/dist/cli/commands/test-cmd.d.ts.map +1 -0
  59. package/dist/cli/commands/test-cmd.js +378 -0
  60. package/dist/cli/commands/test-cmd.js.map +1 -0
  61. package/dist/cli/index.d.ts +1 -1
  62. package/dist/cli/index.js +150 -8
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cli/project-context.d.ts +153 -0
  65. package/dist/cli/project-context.d.ts.map +1 -0
  66. package/dist/cli/project-context.js +190 -0
  67. package/dist/cli/project-context.js.map +1 -0
  68. package/dist/client/activity-types.d.ts +66 -0
  69. package/dist/client/activity-types.d.ts.map +1 -0
  70. package/dist/client/activity-types.js +9 -0
  71. package/dist/client/activity-types.js.map +1 -0
  72. package/dist/client/activity.d.ts +22 -0
  73. package/dist/client/activity.d.ts.map +1 -0
  74. package/dist/client/activity.js +43 -0
  75. package/dist/client/activity.js.map +1 -0
  76. package/dist/client/data-products.d.ts.map +1 -1
  77. package/dist/client/data-products.js +4 -98
  78. package/dist/client/data-products.js.map +1 -1
  79. package/dist/client/flow-types.d.ts +4 -2
  80. package/dist/client/flow-types.d.ts.map +1 -1
  81. package/dist/client/flows.d.ts +1 -1
  82. package/dist/client/flows.d.ts.map +1 -1
  83. package/dist/client/flows.js +49 -124
  84. package/dist/client/flows.js.map +1 -1
  85. package/dist/client/improvements-types.d.ts +55 -0
  86. package/dist/client/improvements-types.d.ts.map +1 -0
  87. package/dist/client/improvements-types.js +9 -0
  88. package/dist/client/improvements-types.js.map +1 -0
  89. package/dist/client/improvements.d.ts +29 -0
  90. package/dist/client/improvements.d.ts.map +1 -0
  91. package/dist/client/improvements.js +50 -0
  92. package/dist/client/improvements.js.map +1 -0
  93. package/dist/client/index.d.ts +6 -2
  94. package/dist/client/index.d.ts.map +1 -1
  95. package/dist/client/index.js.map +1 -1
  96. package/dist/client/loxtep-client.d.ts +45 -0
  97. package/dist/client/loxtep-client.d.ts.map +1 -1
  98. package/dist/client/loxtep-client.js +68 -0
  99. package/dist/client/loxtep-client.js.map +1 -1
  100. package/dist/client/projects-types.d.ts +25 -0
  101. package/dist/client/projects-types.d.ts.map +1 -1
  102. package/dist/client/projects.d.ts +2 -1
  103. package/dist/client/projects.d.ts.map +1 -1
  104. package/dist/client/projects.js +17 -0
  105. package/dist/client/projects.js.map +1 -1
  106. package/dist/client/queue-types.d.ts +15 -2
  107. package/dist/client/queue-types.d.ts.map +1 -1
  108. package/dist/client/queues.d.ts.map +1 -1
  109. package/dist/client/queues.js +3 -14
  110. package/dist/client/queues.js.map +1 -1
  111. package/dist/codegen/emit.d.ts +25 -0
  112. package/dist/codegen/emit.d.ts.map +1 -0
  113. package/dist/codegen/emit.js +158 -0
  114. package/dist/codegen/emit.js.map +1 -0
  115. package/dist/codegen/index.d.ts +17 -0
  116. package/dist/codegen/index.d.ts.map +1 -0
  117. package/dist/codegen/index.js +16 -0
  118. package/dist/codegen/index.js.map +1 -0
  119. package/dist/codegen/load-workspace-context.d.ts +30 -0
  120. package/dist/codegen/load-workspace-context.d.ts.map +1 -0
  121. package/dist/codegen/load-workspace-context.js +127 -0
  122. package/dist/codegen/load-workspace-context.js.map +1 -0
  123. package/dist/codegen/normalize.d.ts +35 -0
  124. package/dist/codegen/normalize.d.ts.map +1 -0
  125. package/dist/codegen/normalize.js +77 -0
  126. package/dist/codegen/normalize.js.map +1 -0
  127. package/dist/codegen/types.d.ts +89 -0
  128. package/dist/codegen/types.d.ts.map +1 -0
  129. package/dist/codegen/types.js +9 -0
  130. package/dist/codegen/types.js.map +1 -0
  131. package/dist/codegen/write-artifact.d.ts +40 -0
  132. package/dist/codegen/write-artifact.d.ts.map +1 -0
  133. package/dist/codegen/write-artifact.js +74 -0
  134. package/dist/codegen/write-artifact.js.map +1 -0
  135. package/dist/config/index.d.ts +1 -0
  136. package/dist/config/index.d.ts.map +1 -1
  137. package/dist/config/index.js +1 -0
  138. package/dist/config/index.js.map +1 -1
  139. package/dist/config/workspace-config.d.ts +76 -0
  140. package/dist/config/workspace-config.d.ts.map +1 -0
  141. package/dist/config/workspace-config.js +129 -0
  142. package/dist/config/workspace-config.js.map +1 -0
  143. package/dist/index.d.ts +3 -0
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +3 -0
  146. package/dist/index.js.map +1 -1
  147. package/dist/rstreams/event-bridge.d.ts +16 -2
  148. package/dist/rstreams/event-bridge.d.ts.map +1 -1
  149. package/dist/rstreams/event-bridge.js +38 -5
  150. package/dist/rstreams/event-bridge.js.map +1 -1
  151. package/dist/skills/check-scope.d.ts +42 -0
  152. package/dist/skills/check-scope.d.ts.map +1 -0
  153. package/dist/skills/check-scope.js +84 -0
  154. package/dist/skills/check-scope.js.map +1 -0
  155. package/dist/skills/index.d.ts +14 -0
  156. package/dist/skills/index.d.ts.map +1 -0
  157. package/dist/skills/index.js +12 -0
  158. package/dist/skills/index.js.map +1 -0
  159. package/dist/skills/loader.d.ts +79 -0
  160. package/dist/skills/loader.d.ts.map +1 -0
  161. package/dist/skills/loader.js +102 -0
  162. package/dist/skills/loader.js.map +1 -0
  163. package/dist/skills/types.d.ts +55 -0
  164. package/dist/skills/types.d.ts.map +1 -0
  165. package/dist/skills/types.js +9 -0
  166. package/dist/skills/types.js.map +1 -0
  167. package/dist/skills/validate-references.d.ts +54 -0
  168. package/dist/skills/validate-references.d.ts.map +1 -0
  169. package/dist/skills/validate-references.js +80 -0
  170. package/dist/skills/validate-references.js.map +1 -0
  171. package/package.json +5 -3
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Activity/Audit API types.
3
+ * Canonical API: GET /ai/activity (unified read-model query).
4
+ * snake_case per backend conventions.
5
+ *
6
+ * Requirements: 7.4, 18.5
7
+ */
8
+ /** Valid source values for activity/audit entries. */
9
+ export type ActivitySource = 'cli' | 'sdk' | 'mcp' | 'ui';
10
+ /** Valid outcome values for action-trace entries. */
11
+ export type ActivityOutcome = 'succeeded' | 'failed';
12
+ /** Kind discriminator for activity entries. */
13
+ export type ActivityEntryKind = 'action_trace' | 'audit';
14
+ /** An activity or audit entry as returned by the unified read-model query (R7.4). */
15
+ export interface ActivityEntry {
16
+ /** Stable unique id used as tie-breaker for ordering. */
17
+ entry_id: string;
18
+ /** Discriminator: 'action_trace' for workflow action traces, 'audit' for mutation audit. */
19
+ kind: ActivityEntryKind;
20
+ /** Workflow name (present on action_trace entries). */
21
+ workflow_name?: string;
22
+ /** Operation name. */
23
+ operation_name: string;
24
+ /** Target resource identifier (present on action_trace entries). */
25
+ target_resource?: string;
26
+ /** Actor identity (user id or agent id). */
27
+ actor: string;
28
+ /** Source of the operation (present on audit entries). */
29
+ source?: ActivitySource;
30
+ /** Resource type (present on audit entries). */
31
+ resource_type?: string;
32
+ /** Resource id (present on audit entries). */
33
+ resource_id?: string;
34
+ /** Skill name when the mutation is associated with a skill (R7.3). */
35
+ skill_name?: string;
36
+ /** UTC timestamp of the entry. */
37
+ timestamp: string;
38
+ /** Outcome of the operation (present on action_trace entries). */
39
+ outcome?: ActivityOutcome;
40
+ }
41
+ /** Filters for listing activity entries (GET /ai/activity query params). */
42
+ export interface ActivityListFilters {
43
+ /** Filter by source (cli, sdk, mcp, ui). */
44
+ source?: ActivitySource;
45
+ /** Filter by actor identity. */
46
+ actor?: string;
47
+ /** Filter by resource type. */
48
+ resource_type?: string;
49
+ /** Time-range start (UTC ISO 8601). start > end is rejected (R7.7). */
50
+ start?: string;
51
+ /** Time-range end (UTC ISO 8601). */
52
+ end?: string;
53
+ /** Max results per page (1–100, default 50). */
54
+ limit?: number;
55
+ /** Cursor for pagination. */
56
+ cursor?: string;
57
+ }
58
+ /** Response shape from GET /ai/activity. */
59
+ export interface ActivityListResponse {
60
+ success: boolean;
61
+ data: {
62
+ entries: ActivityEntry[];
63
+ cursor: string | null;
64
+ };
65
+ }
66
+ //# sourceMappingURL=activity-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-types.d.ts","sourceRoot":"","sources":["../../src/client/activity-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAE1D,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErD,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,OAAO,CAAC;AAEzD,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,IAAI,EAAE,iBAAiB,CAAC;IACxB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Activity/Audit API types.
3
+ * Canonical API: GET /ai/activity (unified read-model query).
4
+ * snake_case per backend conventions.
5
+ *
6
+ * Requirements: 7.4, 18.5
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=activity-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-types.js","sourceRoot":"","sources":["../../src/client/activity-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Activity API: list activity and audit entries (unified read-model query).
3
+ * Canonical API: GET /ai/activity.
4
+ * Synchronous read (R18.6 carve-out).
5
+ *
6
+ * Requirements: 7.4, 18.5
7
+ */
8
+ import type { LoxtepHttpClient } from '../http/client.js';
9
+ import type { ActivityEntry, ActivityListFilters } from './activity-types.js';
10
+ export interface ActivityApi {
11
+ /**
12
+ * List activity and audit entries ordered by UTC timestamp DESC with stable entry_id tie-break.
13
+ * Applies source/actor/resource-type/time-range filters combined with AND (R7.4).
14
+ * Synchronous read — R18.6 carve-out.
15
+ */
16
+ list: (filters?: ActivityListFilters) => Promise<{
17
+ entries: ActivityEntry[];
18
+ cursor: string | null;
19
+ }>;
20
+ }
21
+ export declare function createActivityApi(http: LoxtepHttpClient): ActivityApi;
22
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/client/activity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACvG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAgBrE"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Activity API: list activity and audit entries (unified read-model query).
3
+ * Canonical API: GET /ai/activity.
4
+ * Synchronous read (R18.6 carve-out).
5
+ *
6
+ * Requirements: 7.4, 18.5
7
+ */
8
+ const ACTIVITY_BASE = '/ai/activity';
9
+ function buildQueryString(params) {
10
+ const search = new URLSearchParams();
11
+ for (const [k, v] of Object.entries(params)) {
12
+ if (v === undefined || v === null)
13
+ continue;
14
+ search.set(k, String(v));
15
+ }
16
+ const qs = search.toString();
17
+ return qs ? `?${qs}` : '';
18
+ }
19
+ export function createActivityApi(http) {
20
+ return {
21
+ async list(filters) {
22
+ const params = {};
23
+ if (filters?.source)
24
+ params.source = filters.source;
25
+ if (filters?.actor)
26
+ params.actor = filters.actor;
27
+ if (filters?.resource_type)
28
+ params.resource_type = filters.resource_type;
29
+ if (filters?.start)
30
+ params.start = filters.start;
31
+ if (filters?.end)
32
+ params.end = filters.end;
33
+ if (filters?.limit != null)
34
+ params.limit = filters.limit;
35
+ if (filters?.cursor)
36
+ params.cursor = filters.cursor;
37
+ const qs = buildQueryString(params);
38
+ const res = await http.get(`${ACTIVITY_BASE}${qs}`);
39
+ return res.data;
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/client/activity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,SAAS,gBAAgB,CAAC,MAAmD;IAC3E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAA6B;YACtC,MAAM,MAAM,GAAgD,EAAE,CAAC;YAC/D,IAAI,OAAO,EAAE,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACpD,IAAI,OAAO,EAAE,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACjD,IAAI,OAAO,EAAE,aAAa;gBAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YACzE,IAAI,OAAO,EAAE,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACjD,IAAI,OAAO,EAAE,GAAG;gBAAE,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;gBAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACzD,IAAI,OAAO,EAAE,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACpD,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAuB,GAAG,aAAa,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1E,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-products.d.ts","sourceRoot":"","sources":["../../src/client/data-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-products.d.ts","sourceRoot":"","sources":["../../src/client/data-products.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * get_writer, get_reader, invalidate_cache.
4
4
  * Customer-facing surface: data_products.
5
5
  */
6
- import { readQueueBatch, putPayloadsToQueue } from '../rstreams/event-bridge.js';
6
+ import { readQueueBatch, createQueueWriter, } from '../rstreams/event-bridge.js';
7
7
  import { NotFoundError } from '../errors/resource.js';
8
8
  import { AuthorizationError } from '../errors/auth.js';
9
9
  import { StreamingError } from '../errors/streaming.js';
@@ -24,76 +24,6 @@ function buildQueryString(params) {
24
24
  const qs = search.toString();
25
25
  return qs ? `?${qs}` : '';
26
26
  }
27
- /** Default backoff delays (ms) for retry attempts. */
28
- const BACKOFF_DELAYS_MS = [0, 1000, 2000];
29
- /**
30
- * Determine whether an error is transient and should be retried.
31
- * Transient: network errors, timeouts, throttling (429), 5xx responses.
32
- */
33
- function isTransientError(err) {
34
- if (err === null || err === undefined)
35
- return false;
36
- const statusCode = typeof err.status_code === 'number'
37
- ? err.status_code
38
- : typeof err.statusCode === 'number'
39
- ? err.statusCode
40
- : undefined;
41
- if (statusCode !== undefined) {
42
- if (statusCode === 429)
43
- return true;
44
- if (statusCode >= 500 && statusCode < 600)
45
- return true;
46
- if (statusCode >= 400 && statusCode < 500)
47
- return false;
48
- }
49
- const code = typeof err.code === 'string'
50
- ? err.code
51
- : undefined;
52
- if (code) {
53
- const transientCodes = new Set([
54
- 'ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ETIMEDOUT', 'EPIPE',
55
- 'EAI_AGAIN', 'RATE_LIMIT_EXCEEDED', 'SERVICE_UNAVAILABLE', 'GATEWAY_TIMEOUT',
56
- ]);
57
- if (transientCodes.has(code))
58
- return true;
59
- const nonTransientCodes = new Set([
60
- 'AUTHENTICATION_ERROR', 'AUTHORIZATION_ERROR', 'VALIDATION_ERROR', 'NOT_FOUND',
61
- ]);
62
- if (nonTransientCodes.has(code))
63
- return false;
64
- }
65
- const message = typeof err.message === 'string'
66
- ? err.message.toLowerCase()
67
- : '';
68
- if (message.includes('timeout') || message.includes('econnreset') ||
69
- message.includes('econnrefused') || message.includes('network') ||
70
- message.includes('socket hang up')) {
71
- return true;
72
- }
73
- return true;
74
- }
75
- /**
76
- * Flush a single batch to the stream bus with retry and exponential backoff.
77
- */
78
- async function flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries) {
79
- let lastError;
80
- for (let attempt = 0; attempt < maxRetries; attempt++) {
81
- try {
82
- const delay = BACKOFF_DELAYS_MS[attempt] ?? (attempt * 1000);
83
- if (delay > 0)
84
- await new Promise(resolve => setTimeout(resolve, delay));
85
- await putPayloadsToQueue(rsdk, botId, queueName, batch);
86
- return;
87
- }
88
- catch (err) {
89
- lastError = err;
90
- if (!isTransientError(err)) {
91
- throw new StreamingError(`Failed to write events: ${err instanceof Error ? err.message : String(err)}`, { details: { attempt: attempt + 1, transient: false, bot_id: botId, queue_name: queueName, batch_size: batch.length } });
92
- }
93
- }
94
- }
95
- throw new StreamingError(`Failed to write events after ${maxRetries} attempts: ${lastError instanceof Error ? lastError.message : String(lastError)}`, { details: { attempts: maxRetries, transient: true, bot_id: botId, queue_name: queueName, batch_size: batch.length } });
96
- }
97
27
  /**
98
28
  * Create the data_products API surface (get, list, search, query, list_tables, get_queue_info, get_reader_checkpoint, stream, replay, get_writer, get_reader, invalidate_cache).
99
29
  */
@@ -375,33 +305,9 @@ export function createDataProductsApi(http, deps) {
375
305
  const rsdk = createRStreamsSdk(streamResources);
376
306
  const botId = options?.bot_id ?? dataProduct.bot_id;
377
307
  const queueName = dataProduct.queue_name;
378
- const batchSize = options?.batch_size ?? 100;
379
- const maxRetries = options?.max_retries ?? 3;
380
- const buffer = [];
381
- let closed = false;
382
- return {
383
- write(event) {
384
- if (closed) {
385
- throw new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via data_products.get_writer().', { details: { data_product_id: dataProduct.data_product_id, queue_name: queueName } });
386
- }
387
- buffer.push(event);
388
- },
389
- async close() {
390
- if (closed)
391
- return;
392
- closed = true;
393
- if (buffer.length === 0) {
394
- buffer.length = 0;
395
- return;
396
- }
397
- const events = [...buffer];
398
- buffer.length = 0;
399
- for (let i = 0; i < events.length; i += batchSize) {
400
- const batch = events.slice(i, i + batchSize);
401
- await flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries);
402
- }
403
- },
404
- };
308
+ // The rstreams `load` stream (inside createQueueWriter) owns buffering, batching, backoff,
309
+ // and checkpointing the wrapper just forwards business objects to it.
310
+ return createQueueWriter(rsdk, botId, queueName, () => new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via data_products.get_writer().', { details: { data_product_id: dataProduct.data_product_id, queue_name: queueName } }));
405
311
  },
406
312
  /**
407
313
  * Resolve a data product by name or UUID and return an AsyncIterable that reads
@@ -1 +1 @@
1
- {"version":3,"file":"data-products.js","sourceRoot":"","sources":["../../src/client/data-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-products.js","sourceRoot":"","sources":["../../src/client/data-products.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Flow (backend: workflow) API types. snake_case per backend conventions.
3
3
  * Backend: workflows microservice /workflows/workflows, /workflows/workflows/:id/nodes.
4
4
  */
5
+ import type { WriteOptions } from './queue-types.js';
5
6
  /** Pagination metadata from list APIs. */
6
7
  export interface FlowPaginationMeta {
7
8
  page: number;
@@ -104,9 +105,10 @@ export interface GetWriterOptions {
104
105
  /** Maximum number of retry attempts for transient write failures. Default: 3. */
105
106
  max_retries?: number;
106
107
  }
107
- /** Writer interface: write(event), close() flushes. Transparent batching. */
108
+ /** Writer interface: write(businessObject[, options]), close() flushes. Transparent batching.
109
+ * Pass the business object — the SDK builds the rstreams envelope (source = writer bot_id). */
108
110
  export interface FlowWriter {
109
- write: (event: unknown) => void | Promise<void>;
111
+ write: (event: unknown, options?: WriteOptions) => void | Promise<void>;
110
112
  close: () => Promise<void>;
111
113
  }
112
114
  //# sourceMappingURL=flow-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-types.d.ts","sourceRoot":"","sources":["../../src/client/flow-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-types.d.ts","sourceRoot":"","sources":["../../src/client/flow-types.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,6 @@ export declare function createFlowsApi(http: LoxtepHttpClient, deps?: FlowsApiDe
28
28
  list: (filters: FlowsListFilters) => Promise<FlowsListResponse['data']>;
29
29
  get: (id: string) => Promise<FlowWithNodes>;
30
30
  create: (input: FlowCreateInput) => Promise<Flow>;
31
- get_writer: (flow_id: string, options?: GetWriterOptions) => FlowWriter;
31
+ get_writer: (flow_id: string, options?: GetWriterOptions) => Promise<FlowWriter>;
32
32
  };
33
33
  //# sourceMappingURL=flows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/client/flows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAsBzB,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACnD;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/C;AA+DD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,YAAY,GAClB;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,UAAU,CAAC;CACzE,CAqJA"}
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/client/flows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACnD;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,YAAY,GAClB;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF,CAmIA"}
@@ -4,20 +4,9 @@
4
4
  */
5
5
  import { DefinitionValidationError } from '../errors/validation.js';
6
6
  import { StreamingError } from '../errors/streaming.js';
7
- import { putPayloadsToQueue } from '../rstreams/event-bridge.js';
7
+ import { createQueueWriter } from '../rstreams/event-bridge.js';
8
8
  import { resolveIngestionQueueName } from './flow-queue-resolve.js';
9
9
  const WORKFLOWS_API_BASE = '/workflows/workflows';
10
- /** Default batch size for FlowWriter flush operations. */
11
- const DEFAULT_BATCH_SIZE = 100;
12
- /** Default flush interval in milliseconds. */
13
- const DEFAULT_FLUSH_INTERVAL_MS = 5000;
14
- /** Default maximum retry attempts for transient write failures. */
15
- const DEFAULT_MAX_RETRIES = 3;
16
- /**
17
- * Exponential backoff delays (in ms) for retry attempts.
18
- * Attempt 1: 0ms, Attempt 2: 1000ms, Attempt 3: 2000ms.
19
- */
20
- const BACKOFF_DELAYS_MS = [0, 1000, 2000];
21
10
  function buildQueryString(params) {
22
11
  const search = new URLSearchParams();
23
12
  for (const [k, v] of Object.entries(params)) {
@@ -123,50 +112,6 @@ export function sleep(ms) {
123
112
  return Promise.resolve();
124
113
  return new Promise((resolve) => setTimeout(resolve, ms));
125
114
  }
126
- /**
127
- * Flush a single batch to the stream bus with retry and exponential backoff.
128
- * Retries transient errors up to `maxRetries` attempts.
129
- * Fails immediately on non-transient errors.
130
- * Throws StreamingError after all retries are exhausted.
131
- */
132
- async function flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries, sleepFn = sleep) {
133
- let lastError;
134
- for (let attempt = 0; attempt < maxRetries; attempt++) {
135
- try {
136
- // Apply backoff delay before retry (first attempt has 0ms delay)
137
- const delay = BACKOFF_DELAYS_MS[attempt] ?? (attempt * 1000);
138
- await sleepFn(delay);
139
- await putPayloadsToQueue(rsdk, botId, queueName, batch);
140
- return; // Success
141
- }
142
- catch (err) {
143
- lastError = err;
144
- // Non-transient errors fail immediately — no retry
145
- if (!isTransientError(err)) {
146
- throw new StreamingError(`Failed to write events: ${err instanceof Error ? err.message : String(err)}`, {
147
- details: {
148
- attempt: attempt + 1,
149
- transient: false,
150
- bot_id: botId,
151
- queue_name: queueName,
152
- batch_size: batch.length,
153
- },
154
- });
155
- }
156
- // Transient error — continue to next retry attempt
157
- }
158
- }
159
- // All retries exhausted
160
- throw new StreamingError(`Failed to write events after ${maxRetries} attempts: ${lastError instanceof Error ? lastError.message : String(lastError)}`, {
161
- details: {
162
- attempts: maxRetries,
163
- transient: true,
164
- bot_id: botId,
165
- queue_name: queueName,
166
- batch_size: batch.length,
167
- },
168
- });
169
- }
170
115
  /**
171
116
  * Create the flows API surface (list, get with nodes, create, get_writer).
172
117
  */
@@ -204,19 +149,53 @@ export function createFlowsApi(http, deps) {
204
149
  const res = await http.post(WORKFLOWS_API_BASE, input);
205
150
  return res.data;
206
151
  },
207
- get_writer(flow_id, options) {
208
- const buffer = [];
209
- const validate = options?.validate_definition === true && options?.definition;
152
+ async get_writer(flow_id, options) {
153
+ // Resolve the stream runtime, source bot, and destination queue up front; the rstreams `load`
154
+ // stream (created inside createQueueWriter) owns buffering, batching, backoff, and checkpointing.
155
+ const rsdk = deps?.rsdk ?? (await deps?.get_rsdk?.());
156
+ if (!rsdk) {
157
+ throw new StreamingError('Stream bus configuration missing. Set LEO_* environment variables or add `streams` to ~/.loxtep/config.json. ' +
158
+ 'Pass `streams` in LoxtepClientOptions, or ensure your instance stream environment is configured.', {
159
+ details: {
160
+ flow_id,
161
+ hint: 'Run `loxtep init` to configure stream bus, or set LEO_* env vars from your instance.',
162
+ },
163
+ });
164
+ }
165
+ const botId = options?.bot_id;
166
+ if (!botId) {
167
+ throw new StreamingError('flows.get_writer requires bot_id in options (stream writer identity on the bus).', { details: { flow_id } });
168
+ }
169
+ let queueName = options?.output_queue_name;
170
+ if (!queueName && options?.environment_prefix && options?.project_id) {
171
+ const flowRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}`);
172
+ const flowData = flowRes && typeof flowRes === 'object' && 'data' in flowRes
173
+ ? flowRes.data
174
+ : flowRes;
175
+ let nodes = [];
176
+ try {
177
+ const nodesRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}/nodes`);
178
+ const payload = nodesRes.data ?? nodesRes;
179
+ nodes = payload.items ?? [];
180
+ }
181
+ catch {
182
+ /* ignore */
183
+ }
184
+ const flowWithNodes = { ...flowData, nodes };
185
+ queueName = resolveIngestionQueueName(flowWithNodes, options.environment_prefix);
186
+ }
187
+ if (!queueName) {
188
+ throw new StreamingError('flows.get_writer requires output_queue_name, or environment_prefix + project_id so the SDK can resolve the ingestion queue from the flow.', { details: { flow_id } });
189
+ }
190
+ const writer = createQueueWriter(rsdk, botId, queueName, () => new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via flows.get_writer().', { details: { flow_id } }));
191
+ // Optional per-event definition validation wraps the passthrough writer.
192
+ const validate = options?.validate_definition === true && !!options?.definition;
193
+ if (!validate)
194
+ return writer;
210
195
  const onError = options?.on_validation_error ?? 'reject';
211
- const batchSize = options?.batch_size ?? DEFAULT_BATCH_SIZE;
212
- const maxRetries = options?.max_retries ?? DEFAULT_MAX_RETRIES;
213
- let closed = false;
214
196
  return {
215
- write(event) {
216
- if (closed) {
217
- throw new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via flows.get_writer().', { details: { flow_id } });
218
- }
219
- if (validate && options?.definition) {
197
+ write(event, writeOptions) {
198
+ if (options?.definition) {
220
199
  const errors = validateEventAgainstDefinition(event, options.definition);
221
200
  if (errors.length > 0) {
222
201
  if (onError === 'reject') {
@@ -225,67 +204,13 @@ export function createFlowsApi(http, deps) {
225
204
  if (onError === 'warn') {
226
205
  console.warn('[FlowWriter] Definition validation failed:', errors);
227
206
  }
228
- if (onError === 'skip') {
207
+ if (onError === 'skip')
229
208
  return;
230
- }
231
209
  }
232
210
  }
233
- buffer.push(event);
234
- },
235
- async close() {
236
- if (closed)
237
- return;
238
- closed = true;
239
- if (buffer.length === 0) {
240
- buffer.length = 0;
241
- return;
242
- }
243
- const rsdk = deps?.rsdk ?? (await deps?.get_rsdk?.());
244
- if (!rsdk) {
245
- buffer.length = 0;
246
- throw new StreamingError('Stream bus configuration missing. Set LEO_* environment variables or add `streams` to ~/.loxtep/config.json. ' +
247
- 'Pass `streams` in LoxtepClientOptions, or ensure your instance stream environment is configured.', {
248
- details: {
249
- flow_id,
250
- hint: 'Run `loxtep init` to configure stream bus, or set LEO_* env vars from your instance.',
251
- },
252
- });
253
- }
254
- const botId = options?.bot_id;
255
- if (!botId) {
256
- buffer.length = 0;
257
- throw new StreamingError('flows.get_writer requires bot_id in options (stream writer identity on the bus).', { details: { flow_id } });
258
- }
259
- let queueName = options?.output_queue_name;
260
- if (!queueName && options?.environment_prefix && options?.project_id) {
261
- const flowRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}`);
262
- const flowData = flowRes && typeof flowRes === 'object' && 'data' in flowRes
263
- ? flowRes.data
264
- : flowRes;
265
- let nodes = [];
266
- try {
267
- const nodesRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}/nodes`);
268
- const payload = nodesRes.data ?? nodesRes;
269
- nodes = payload.items ?? [];
270
- }
271
- catch {
272
- /* ignore */
273
- }
274
- const flowWithNodes = { ...flowData, nodes };
275
- queueName = resolveIngestionQueueName(flowWithNodes, options.environment_prefix);
276
- }
277
- if (!queueName) {
278
- buffer.length = 0;
279
- throw new StreamingError('flows.get_writer requires output_queue_name, or environment_prefix + project_id so the SDK can resolve the ingestion queue from the flow.', { details: { flow_id } });
280
- }
281
- // Drain buffer in batches with retry logic
282
- const events = [...buffer];
283
- buffer.length = 0;
284
- for (let i = 0; i < events.length; i += batchSize) {
285
- const batch = events.slice(i, i + batchSize);
286
- await flushBatchWithRetry(rsdk, botId, queueName, batch, maxRetries);
287
- }
211
+ writer.write(event, writeOptions);
288
212
  },
213
+ close: () => writer.close(),
289
214
  };
290
215
  },
291
216
  };