@loxtep/sdk 0.8.0 → 0.9.1

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 (116) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +2 -1
  3. package/dist/cli/commands/approvals-cmd.d.ts +21 -0
  4. package/dist/cli/commands/approvals-cmd.d.ts.map +1 -0
  5. package/dist/cli/commands/approvals-cmd.js +95 -0
  6. package/dist/cli/commands/approvals-cmd.js.map +1 -0
  7. package/dist/cli/commands/clone-cmd.d.ts +39 -0
  8. package/dist/cli/commands/clone-cmd.d.ts.map +1 -0
  9. package/dist/cli/commands/clone-cmd.js +291 -0
  10. package/dist/cli/commands/clone-cmd.js.map +1 -0
  11. package/dist/cli/commands/deploy-cmd.d.ts.map +1 -1
  12. package/dist/cli/commands/deploy-cmd.js +52 -19
  13. package/dist/cli/commands/deploy-cmd.js.map +1 -1
  14. package/dist/cli/commands/deployments-cmd.d.ts +22 -0
  15. package/dist/cli/commands/deployments-cmd.d.ts.map +1 -0
  16. package/dist/cli/commands/deployments-cmd.js +62 -0
  17. package/dist/cli/commands/deployments-cmd.js.map +1 -0
  18. package/dist/cli/commands/init-cmd.d.ts.map +1 -1
  19. package/dist/cli/commands/init-cmd.js +12 -1
  20. package/dist/cli/commands/init-cmd.js.map +1 -1
  21. package/dist/cli/commands/link-cmd.d.ts +33 -0
  22. package/dist/cli/commands/link-cmd.d.ts.map +1 -0
  23. package/dist/cli/commands/link-cmd.js +145 -0
  24. package/dist/cli/commands/link-cmd.js.map +1 -0
  25. package/dist/cli/commands/projects-cmd.d.ts +39 -1
  26. package/dist/cli/commands/projects-cmd.d.ts.map +1 -1
  27. package/dist/cli/commands/projects-cmd.js +231 -4
  28. package/dist/cli/commands/projects-cmd.js.map +1 -1
  29. package/dist/cli/commands/projects-github-cmd.d.ts +24 -0
  30. package/dist/cli/commands/projects-github-cmd.d.ts.map +1 -0
  31. package/dist/cli/commands/projects-github-cmd.js +108 -0
  32. package/dist/cli/commands/projects-github-cmd.js.map +1 -0
  33. package/dist/cli/commands/push-cmd.d.ts +3 -7
  34. package/dist/cli/commands/push-cmd.d.ts.map +1 -1
  35. package/dist/cli/commands/push-cmd.js +10 -39
  36. package/dist/cli/commands/push-cmd.js.map +1 -1
  37. package/dist/cli/commands/status-cmd.d.ts +21 -0
  38. package/dist/cli/commands/status-cmd.d.ts.map +1 -0
  39. package/dist/cli/commands/status-cmd.js +127 -0
  40. package/dist/cli/commands/status-cmd.js.map +1 -0
  41. package/dist/cli/help.d.ts.map +1 -1
  42. package/dist/cli/help.js +21 -3
  43. package/dist/cli/help.js.map +1 -1
  44. package/dist/cli/index.js +158 -3
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/cli/known-locals-registry.d.ts +51 -0
  47. package/dist/cli/known-locals-registry.d.ts.map +1 -0
  48. package/dist/cli/known-locals-registry.js +94 -0
  49. package/dist/cli/known-locals-registry.js.map +1 -0
  50. package/dist/cli/project-context.d.ts +9 -0
  51. package/dist/cli/project-context.d.ts.map +1 -1
  52. package/dist/cli/project-context.js +21 -0
  53. package/dist/cli/project-context.js.map +1 -1
  54. package/dist/client/deployments-types.d.ts +51 -0
  55. package/dist/client/deployments-types.d.ts.map +1 -0
  56. package/dist/client/deployments-types.js +6 -0
  57. package/dist/client/deployments-types.js.map +1 -0
  58. package/dist/client/deployments.d.ts +20 -0
  59. package/dist/client/deployments.d.ts.map +1 -0
  60. package/dist/client/deployments.js +71 -0
  61. package/dist/client/deployments.js.map +1 -0
  62. package/dist/client/index.d.ts +11 -0
  63. package/dist/client/index.d.ts.map +1 -1
  64. package/dist/client/index.js +6 -0
  65. package/dist/client/index.js.map +1 -1
  66. package/dist/client/loxtep-client.d.ts.map +1 -1
  67. package/dist/client/loxtep-client.js +12 -2
  68. package/dist/client/loxtep-client.js.map +1 -1
  69. package/dist/client/observe-facade.d.ts +5 -1
  70. package/dist/client/observe-facade.d.ts.map +1 -1
  71. package/dist/client/observe-facade.js +3 -1
  72. package/dist/client/observe-facade.js.map +1 -1
  73. package/dist/client/project-workspace-inventory.d.ts +61 -0
  74. package/dist/client/project-workspace-inventory.d.ts.map +1 -0
  75. package/dist/client/project-workspace-inventory.js +300 -0
  76. package/dist/client/project-workspace-inventory.js.map +1 -0
  77. package/dist/client/project-workspace-status-types.d.ts +644 -0
  78. package/dist/client/project-workspace-status-types.d.ts.map +1 -0
  79. package/dist/client/project-workspace-status-types.js +265 -0
  80. package/dist/client/project-workspace-status-types.js.map +1 -0
  81. package/dist/client/project-workspace-status.d.ts +76 -0
  82. package/dist/client/project-workspace-status.d.ts.map +1 -0
  83. package/dist/client/project-workspace-status.js +368 -0
  84. package/dist/client/project-workspace-status.js.map +1 -0
  85. package/dist/client/projects.d.ts +53 -0
  86. package/dist/client/projects.d.ts.map +1 -1
  87. package/dist/client/projects.js +18 -0
  88. package/dist/client/projects.js.map +1 -1
  89. package/dist/client/versions-types.d.ts +3 -4
  90. package/dist/client/versions-types.d.ts.map +1 -1
  91. package/dist/client/versions-types.js +3 -4
  92. package/dist/client/versions-types.js.map +1 -1
  93. package/dist/client/workflows-types.d.ts +16 -3
  94. package/dist/client/workflows-types.d.ts.map +1 -1
  95. package/dist/client/workflows-types.js +47 -1
  96. package/dist/client/workflows-types.js.map +1 -1
  97. package/dist/client/workflows.d.ts.map +1 -1
  98. package/dist/client/workflows.js +2 -1
  99. package/dist/client/workflows.js.map +1 -1
  100. package/dist/client/workspace-package.d.ts +26 -0
  101. package/dist/client/workspace-package.d.ts.map +1 -0
  102. package/dist/client/workspace-package.js +85 -0
  103. package/dist/client/workspace-package.js.map +1 -0
  104. package/dist/client/workspace.d.ts +5 -1
  105. package/dist/client/workspace.d.ts.map +1 -1
  106. package/dist/client/workspace.js +3 -1
  107. package/dist/client/workspace.js.map +1 -1
  108. package/dist/config/platform-request-url.d.ts +2 -2
  109. package/dist/config/platform-request-url.js +4 -4
  110. package/docs/code-first-cli.md +28 -2
  111. package/docs/project-workspace-status.md +161 -0
  112. package/docs/sdk-mcp-mapping.md +2 -2
  113. package/package.json +1 -1
  114. package/schemas/entity-json-schemas/SCHEMA_SYNC.md +4 -3
  115. package/schemas/entity-json-schemas/data-product.json +1 -1
  116. package/schemas/entity-json-schemas/odps-product.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflows-types.js","sourceRoot":"","sources":["../../src/client/workflows-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"workflows-types.js","sourceRoot":"","sources":["../../src/client/workflows-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4DH;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM;QAC3C,MAAM,GAAG,GAAG,GAA8B,CAAC;QAC3C,MAAM,gBAAgB,GACpB,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;YACrC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC;QAClC,IAAI,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3G,MAAM;QACR,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IAED,MAAM,GAAG,GACP,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA+B,CAAC,CAAC,CAAE,EAA8B,CAAC;IACtG,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC5B,CAAC,CAAC,GAAG,CAAC,MAAM;QACZ,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;YACrC,CAAC,CAAC,GAAG,CAAC,aAAa;YACnB,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,aAAa,GACjB,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;QACnC,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,GAAG,CAAC,MAAM;YACZ,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO;QACL,MAAM;QACN,aAAa;QACb,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC/D,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClE,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAWzB,MAAM,WAAW,gBAAgB;IAC/B,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,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,EAAE,CACT,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,oBAAoB,EAAE,CACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACtF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,gBAAgB,GACtB,YAAY,CAsKd"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAWzB,MAAM,WAAW,gBAAgB;IAC/B,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,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,EAAE,CACT,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,oBAAoB,EAAE,CACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACtF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,gBAAgB,GACtB,YAAY,CAsKd"}
@@ -9,6 +9,7 @@
9
9
  * `get_writer` is a low-level stream-writer escape hatch — see `@internal` note.
10
10
  * Live event writes use the Loxtep stream data plane, not HTTP POST.
11
11
  */
12
+ import { normalizeDeployResponse } from './workflows-types.js';
12
13
  import { DefinitionValidationError } from '../errors/validation.js';
13
14
  import { StreamingError } from '../errors/streaming.js';
14
15
  import { createQueueWriter } from '../rstreams/event-bridge.js';
@@ -162,7 +163,7 @@ export function createWorkflowsApi(http, deps) {
162
163
  async deploy(input) {
163
164
  const { project_id, instance_id, version_id, force_redeploy } = input;
164
165
  const res = await http.post(`${PROJECTS_BASE}/${encodeURIComponent(project_id)}/deploy`, { instance_id, version_id, force_redeploy: force_redeploy ?? false });
165
- return res.data;
166
+ return normalizeDeployResponse(res);
166
167
  },
167
168
  async save_workflow_bundle(project_id, input) {
168
169
  const res = await http.post(`${PROJECTS_BASE}/${encodeURIComponent(project_id)}/workflow-bundle`, {
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAS/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAS5C,SAAS,gBAAgB,CAAC,MAA6D;IACrF,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;AAED,SAAS,8BAA8B,CACrC,KAAc,EACd,UAAmC;IAEnC,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAgC,CAAC;IAC7D,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,GAAG,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEpD,mEAAmE;IACnE,MAAM,UAAU,GACd,OAAQ,GAAiC,CAAC,WAAW,KAAK,QAAQ;QAChE,CAAC,CAAE,GAA+B,CAAC,WAAW;QAC9C,CAAC,CAAC,OAAQ,GAAgC,CAAC,UAAU,KAAK,QAAQ;YAChE,CAAC,CAAE,GAA8B,CAAC,UAAU;YAC5C,CAAC,CAAC,OAAQ,GAA4B,CAAC,MAAM,KAAK,QAAQ;gBACxD,CAAC,CAAE,GAA0B,CAAC,MAAM;gBACpC,CAAC,CAAC,SAAS,CAAC;IAEpB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,gCAAgC;QAChC,IAAI,UAAU,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,8BAA8B;QAC9B,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACvD,uEAAuE;QACvE,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;IAC1D,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAI,GACR,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ;QAClD,CAAC,CAAE,GAAwB,CAAC,IAAI;QAChC,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;YAC7B,YAAY;YACZ,cAAc;YACd,WAAW;YACX,WAAW;YACX,OAAO;YACP,WAAW;YACX,qBAAqB;YACrB,kBAAkB;YAClB,qBAAqB;YACrB,iBAAiB;YACjB,uBAAuB;SACxB,CAAC,CAAC;QACH,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;YAChC,sBAAsB;YACtB,qBAAqB;YACrB,kBAAkB;YAClB,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IAChD,CAAC;IAED,mDAAmD;IACnD,MAAM,OAAO,GACX,OAAQ,GAA6B,CAAC,OAAO,KAAK,QAAQ;QACxD,CAAC,CAAE,GAA2B,CAAC,OAAO,CAAC,WAAW,EAAE;QACpD,CAAC,CAAC,EAAE,CAAC;IAET,IACE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAwBD,MAAM,UAAU,kBAAkB,CAChC,IAAsB,EACtB,IAAuB;IAEvB,MAAM,GAAG,GAAiB;QACxB,KAAK,CAAC,IAAI,CAAC,OAA6B;YACtC,MAAM,MAAM,GAAgD;gBAC1D,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;aACpC,CAAC;YACF,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACnD,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAwB,GAAG,cAAc,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5E,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,EAAU;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAC5B,GAAG,cAAc,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAC9C,CAAC;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,KAAK,GAAe,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAC7B,GAAG,cAAc,IAAI,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CACpD,CAAC;gBACF,MAAM,OAAO,GAAI,QAA8C,CAAC,IAAI,IAAI,QAAQ,CAAC;gBACjF,KAAK,GAAI,OAAkC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAA0B;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAgC,cAAc,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,UAAkB;YAElB,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,GAAG,cAAc,IAAI,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAClE,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAkB;YAC7B,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CACzB,GAAG,aAAa,IAAI,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAC3D,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,IAAI,KAAK,EAAE,CACrE,CAAC;YACF,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,oBAAoB,CACxB,UAAkB,EAClB,KAA8B;YAE9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CACzB,GAAG,aAAa,IAAI,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,EACpE;gBACE,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;aAChC,CACF,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,OAA0B;YAC9D,8FAA8F;YAC9F,kGAAkG;YAClG,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,cAAc,CACtB,+GAA+G;oBAC7G,kGAAkG,EACpG;oBACE,OAAO,EAAE;wBACP,WAAW;wBACX,IAAI,EAAE,sFAAsF;qBAC7F;iBACF,CACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,cAAc,CACtB,sFAAsF,EACtF,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,CAC7B,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,GAAG,OAAO,EAAE,iBAAiB,CAAC;YAC3C,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAC5B,GAAG,cAAc,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACvD,CAAC;gBACF,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO;oBACzD,CAAC,CAAE,OAA0B,CAAC,IAAI;oBAClC,CAAC,CAAE,OAAgB,CAAC;gBACxB,IAAI,KAAK,GAAe,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAC7B,GAAG,cAAc,IAAI,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAC7D,CAAC;oBACF,MAAM,OAAO,GAAI,QAA8C,CAAC,IAAI,IAAI,QAAQ,CAAC;oBACjF,KAAK,GAAI,OAAkC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;gBACD,MAAM,aAAa,GAAkB,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC5D,SAAS,GAAG,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,cAAc,CACtB,mJAAmJ,EACnJ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,CAC7B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,EACJ,KAAK,EACL,SAAS,EACT,GAAG,EAAE,CACH,IAAI,cAAc,CAChB,kFAAkF,EAClF,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,CAC7B,CACJ,CAAC;YAEF,yEAAyE;YACzE,MAAM,QAAQ,GAAG,OAAO,EAAE,mBAAmB,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC;YAChF,IAAI,CAAC,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,EAAE,mBAAmB,IAAI,QAAQ,CAAC;YACzD,OAAO;gBACL,KAAK,CAAC,KAAc,EAAE,YAA2B;oBAC/C,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;wBACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gCACzB,MAAM,IAAI,yBAAyB,CACjC,oCAAoC,EACpC,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAChC,MAAM,CACP,CAAC;4BACJ,CAAC;4BACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gCACvB,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,MAAM,CAAC,CAAC;4BAC3E,CAAC;4BACD,IAAI,OAAO,KAAK,MAAM;gCAAE,OAAO;wBACjC,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared local workspace package discovery (SDK-first entity-JSON layout).
3
+ *
4
+ * Same layout `loxtep push` / entity-package deploy use — do not invent a
5
+ * second package model for unpublished inventory.
6
+ */
7
+ /**
8
+ * Find local workflow packages under `workflows/<id>/` (SDK-first entity-JSON
9
+ * layout, as written by `ingest`/`transform`/`delivery create`) — as opposed to
10
+ * the code-first-cli flow's flat `.ts`/`.js` module files.
11
+ */
12
+ export declare function listLocalWorkflowIds(projectDir: string): string[];
13
+ /**
14
+ * Collect the flat `save_workflow_bundle` files map for one workflow package.
15
+ */
16
+ export declare function collectFlatBundle(projectDir: string, workflowId: string): Record<string, Record<string, unknown>>;
17
+ /**
18
+ * Code-first CLI modules: flat `.ts`/`.js` files directly under `workflows/`.
19
+ * Deploy discovers these separately from entity-JSON packages.
20
+ */
21
+ export declare function listLocalWorkflowModuleFiles(projectDir: string): string[];
22
+ /**
23
+ * Project-level schema JSON files under `schemas/` (when present).
24
+ */
25
+ export declare function listLocalSchemaPackageFiles(projectDir: string): string[];
26
+ //# sourceMappingURL=workspace-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-package.d.ts","sourceRoot":"","sources":["../../src/client/workspace-package.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAOjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4BzC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAOzE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxE"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Shared local workspace package discovery (SDK-first entity-JSON layout).
3
+ *
4
+ * Same layout `loxtep push` / entity-package deploy use — do not invent a
5
+ * second package model for unpublished inventory.
6
+ */
7
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ /**
10
+ * Find local workflow packages under `workflows/<id>/` (SDK-first entity-JSON
11
+ * layout, as written by `ingest`/`transform`/`delivery create`) — as opposed to
12
+ * the code-first-cli flow's flat `.ts`/`.js` module files.
13
+ */
14
+ export function listLocalWorkflowIds(projectDir) {
15
+ const workflowsRoot = join(projectDir, 'workflows');
16
+ if (!existsSync(workflowsRoot))
17
+ return [];
18
+ return readdirSync(workflowsRoot, { withFileTypes: true })
19
+ .filter(d => d.isDirectory())
20
+ .map(d => d.name)
21
+ .filter(id => existsSync(join(workflowsRoot, id, 'workflow.json')));
22
+ }
23
+ /**
24
+ * Collect the flat `save_workflow_bundle` files map for one workflow package.
25
+ */
26
+ export function collectFlatBundle(projectDir, workflowId) {
27
+ const root = join(projectDir, 'workflows', workflowId);
28
+ const files = {};
29
+ const workflowJson = JSON.parse(readFileSync(join(root, 'workflow.json'), 'utf8'));
30
+ files['workflow.json'] = workflowJson;
31
+ for (const entityDir of [
32
+ 'connections',
33
+ 'data-products',
34
+ 'transformations',
35
+ 'validations',
36
+ ]) {
37
+ const dir = join(root, entityDir);
38
+ if (!existsSync(dir))
39
+ continue;
40
+ for (const name of readdirSync(dir)) {
41
+ if (!name.endsWith('.json'))
42
+ continue;
43
+ const entity = JSON.parse(readFileSync(join(dir, name), 'utf8'));
44
+ files[`${entityDir}/${name}`] = entity;
45
+ }
46
+ }
47
+ return files;
48
+ }
49
+ /**
50
+ * Code-first CLI modules: flat `.ts`/`.js` files directly under `workflows/`.
51
+ * Deploy discovers these separately from entity-JSON packages.
52
+ */
53
+ export function listLocalWorkflowModuleFiles(projectDir) {
54
+ const workflowsRoot = join(projectDir, 'workflows');
55
+ if (!existsSync(workflowsRoot))
56
+ return [];
57
+ return readdirSync(workflowsRoot, { withFileTypes: true })
58
+ .filter(d => d.isFile() && (d.name.endsWith('.ts') || d.name.endsWith('.js')))
59
+ .map(d => d.name)
60
+ .sort();
61
+ }
62
+ /**
63
+ * Project-level schema JSON files under `schemas/` (when present).
64
+ */
65
+ export function listLocalSchemaPackageFiles(projectDir) {
66
+ const schemasRoot = join(projectDir, 'schemas');
67
+ if (!existsSync(schemasRoot))
68
+ return [];
69
+ return walkJsonFilesRelative(schemasRoot, 'schemas');
70
+ }
71
+ function walkJsonFilesRelative(absDir, relPrefix) {
72
+ const out = [];
73
+ for (const entry of readdirSync(absDir, { withFileTypes: true })) {
74
+ const abs = join(absDir, entry.name);
75
+ const rel = `${relPrefix}/${entry.name}`;
76
+ if (entry.isDirectory()) {
77
+ out.push(...walkJsonFilesRelative(abs, rel));
78
+ }
79
+ else if (entry.isFile() && entry.name.endsWith('.json')) {
80
+ out.push(rel);
81
+ }
82
+ }
83
+ return out.sort();
84
+ }
85
+ //# sourceMappingURL=workspace-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-package.js","sourceRoot":"","sources":["../../src/client/workspace-package.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  /**
2
2
  * Workspace facade (MCP: loxtep_workspace).
3
- * Delegates to projects and instances APIs. Version/snapshot REST is not yet available.
3
+ * Delegates to projects, instances, and deployments APIs.
4
+ * Version/snapshot REST is not yet available.
4
5
  */
5
6
  import type { createProjectsApi } from './projects.js';
6
7
  import type { createInstancesApi } from './instances.js';
8
+ import type { createDeploymentsApi } from './deployments.js';
7
9
  export interface WorkspaceFacadeDeps {
8
10
  projects: ReturnType<typeof createProjectsApi>;
9
11
  instances: ReturnType<typeof createInstancesApi>;
12
+ deployments: ReturnType<typeof createDeploymentsApi>;
10
13
  }
11
14
  /** Placeholder until version/snapshot REST endpoints ship (MCP-only today). */
12
15
  export interface VersionsFacade {
@@ -16,6 +19,7 @@ export interface VersionsFacade {
16
19
  export declare function createWorkspaceFacade(deps: WorkspaceFacadeDeps): {
17
20
  projects: WorkspaceFacadeDeps['projects'];
18
21
  instances: WorkspaceFacadeDeps['instances'];
22
+ deployments: WorkspaceFacadeDeps['deployments'];
19
23
  versions: VersionsFacade;
20
24
  };
21
25
  export type WorkspaceFacade = ReturnType<typeof createWorkspaceFacade>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/client/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC/C,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClD;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG;IAChE,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAMA;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/client/workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC/C,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACjD,WAAW,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;CACtD;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG;IAChE,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAOA;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Workspace facade (MCP: loxtep_workspace).
3
- * Delegates to projects and instances APIs. Version/snapshot REST is not yet available.
3
+ * Delegates to projects, instances, and deployments APIs.
4
+ * Version/snapshot REST is not yet available.
4
5
  */
5
6
  export function createWorkspaceFacade(deps) {
6
7
  return {
7
8
  projects: deps.projects,
8
9
  instances: deps.instances,
10
+ deployments: deps.deployments,
9
11
  versions: { unavailable: true },
10
12
  };
11
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/client/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAK7D,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/client/workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAM7D,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC"}
@@ -6,8 +6,8 @@
6
6
  * and when `path` already begins with a microservice (e.g. `/ai/…`, `/graph/…`) we do **not** add another
7
7
  * segment (see `PATH_ALREADY_HAS_SERVICE_PREFIX`).
8
8
  *
9
- * For backend route definitions, see each microservice’s `config.loxtep.api.uri` in
10
- * `platform-backend` per-service `api` trees (`.../api/.../package.json`).
9
+ * Public routes follow each microservice’s registered API Gateway URI
10
+ * (`/{microservice}{resourcePath}`).
11
11
  */
12
12
  export declare function getGatewayMicroserviceId(path: string): string;
13
13
  /**
@@ -6,8 +6,8 @@
6
6
  * and when `path` already begins with a microservice (e.g. `/ai/…`, `/graph/…`) we do **not** add another
7
7
  * segment (see `PATH_ALREADY_HAS_SERVICE_PREFIX`).
8
8
  *
9
- * For backend route definitions, see each microservice’s `config.loxtep.api.uri` in
10
- * `platform-backend` per-service `api` trees (`.../api/.../package.json`).
9
+ * Public routes follow each microservice’s registered API Gateway URI
10
+ * (`/{microservice}{resourcePath}`).
11
11
  */
12
12
  /** Paths that are already correct from the host root (include the gateway’s first segment in `path`). */
13
13
  const PATH_ALREADY_HAS_SERVICE_PREFIX = /^\/(ai|graph)(\/|$)/;
@@ -19,8 +19,8 @@ const MICROSERVICE_OVERRIDES = {
19
19
  };
20
20
  /**
21
21
  * Sibling resources that live directly under the `dataproducts` microservice root
22
- * (`platform-backend/dataproducts/api/<name>/...`), as opposed to being nested one level
23
- * deeper under the `dataproducts` *resource* itself (`platform-backend/dataproducts/api/dataproducts/...`,
22
+ * (e.g. `/dataproducts/warehouse/...`), as opposed to being nested one level deeper
23
+ * under the `dataproducts` *resource* itself (e.g. `/dataproducts/dataproducts/...`,
24
24
  * which is what the `/dataproducts/dataproducts/...` doubling in `buildPlatformRequestUrl` is for).
25
25
  * A path like `/dataproducts/datacontracts` must NOT be doubled — the real route is
26
26
  * `/dataproducts/datacontracts`, not `/dataproducts/dataproducts/datacontracts`.
@@ -16,14 +16,33 @@ Use [SDK-first ingest](./sdk-first-ingest.md) instead of this guide.
16
16
 
17
17
  | Goal | Commands |
18
18
  | --- | --- |
19
- | First-time workspace setup | `login` → `init` → `attach` → `generate` |
19
+ | First-time workspace setup (new project) | `login` → `init` → `attach` → `generate` |
20
+ | **Clone** an existing cloud project locally | `login` → `projects clone <id\|name> [dir]` → `attach` → edit → `push` / `projects push` |
21
+ | Bind an **existing** cloud project to a directory (no download) | `login` → `projects link` → `attach` → edit → `push` → `deploy` |
20
22
  | Author, test, and deploy workflows | … → `test` → `deploy` |
21
23
  | App code with auto-config | After attach: `LoxtepClient.fromWorkspace()` |
22
24
  | Stream I/O to a data product | After **deploy**: `client.get_writer(name)` |
23
25
 
24
26
  `loxtep init` creates **`.loxtep/project.json`** and the on-disk project layout.
27
+ `loxtep projects clone` materializes Cloud → Local: **git clone** when the project
28
+ is GitHub-bound; authenticated **workspace export** (`POST /workflows/projects/{id}/export`)
29
+ when unbound. Both paths write `.loxtep/project.json` and upsert
30
+ `~/.loxtep/workspaces.json` so `loxtep status` works immediately.
31
+ `loxtep projects link` (alias `loxtep link`) binds metadata only when you already
32
+ have a local tree. Prefer `clone` for "get it from the cloud"; use `link` when
33
+ the files are already on disk.
34
+
35
+ **GitHub sync vs package push:** top-level `loxtep push` uploads unbound local
36
+ packages (Local → Cloud S3). When GitHub-bound, use `loxtep projects pull` /
37
+ `loxtep projects push` to wrap `/projects/{id}/github/pull|push`. Never pretend
38
+ Git exists for unbound projects.
39
+
40
+ **`link` ≠ `attach`:** `link`/`clone` bind the **project**; `attach` binds a runtime
41
+ **Instance** (`instance_id` + `api_url`).
42
+
25
43
  Many CLI commands (`generate`, `test`, `deploy`, `attach`) require that file and
26
- will exit with *"Run \`loxtep init\` first"* if it is missing.
44
+ will exit with *"Run \`loxtep init\` first"* if it is missing (or run `clone` /
45
+ `link` / `init --project-id` to create it for an existing project).
27
46
 
28
47
  `loxtep login` stores JWT credentials under **`./.loxtep/credentials.json`**
29
48
  (by default). That is separate from `project.json` — you can log in before or
@@ -36,11 +55,18 @@ after `init`.
36
55
  ```text
37
56
  pnpm add @loxtep/sdk
38
57
  pnpm exec loxtep login
58
+ # New project:
39
59
  pnpm exec loxtep init [--template <slug>]
60
+ # Or clone from cloud (GitHub-bound or unbound export):
61
+ pnpm exec loxtep projects clone <project_id|name> [dir]
62
+ # Or bind without downloading:
63
+ pnpm exec loxtep projects link <project_id|name>
40
64
  pnpm exec loxtep attach --instance <name-or-id>
41
65
  pnpm exec loxtep generate
42
66
  # author workflows under workflows/
43
67
  pnpm exec loxtep test <module> --event ./events/sample.json
68
+ pnpm exec loxtep push # unbound Local→Cloud packages
69
+ # pnpm exec loxtep projects push # GitHub-bound S3→GitHub sync
44
70
  pnpm exec loxtep deploy
45
71
  ```
46
72
 
@@ -0,0 +1,161 @@
1
+ # Project workspace status (three layers)
2
+
3
+ Stable snake_case payload for **local / cloud / deployed** visibility.
4
+
5
+ Canonical TypeScript + Zod: `src/client/project-workspace-status-types.ts`
6
+ (exported from `@loxtep/sdk`).
7
+
8
+ ## Layers
9
+
10
+ | Layer | Meaning | Source of truth |
11
+ | --- | --- | --- |
12
+ | `local` | CWD / known-locals + `.loxtep/project.json` | Disk |
13
+ | `cloud` | Org project + Studio/S3 workspace | `project_id` + workspace APIs |
14
+ | `deployed` | Instance bindings after `deploy` | Deployments |
15
+
16
+ **Unpublished** = deltas between layers (not a draft flag):
17
+
18
+ - `unpublished.local_to_cloud` — Local → Cloud (not pushed / workspace out of date)
19
+ - `unpublished.cloud_to_deployed` — Cloud → Deployed (pushed but not deployed, or stale)
20
+
21
+ `dirty: null` means **not computed** at this `population_depth`. Do not treat null as clean.
22
+
23
+ ## Consumers
24
+
25
+ | Surface | Uses |
26
+ | --- | --- |
27
+ | CLI `loxtep status` | Full `ProjectWorkspaceStatus` (`population_depth: "status"`) |
28
+ | CLI `loxtep status --unpublished` / `projects changes` | Same payload at `population_depth: "unpublished"` with file/entity lists |
29
+ | CLI `loxtep projects list\|get` | `ProjectListStatusEnrichment` fields |
30
+ | CLI `loxtep projects link` / `loxtep link` | Local bind + `~/.loxtep/workspaces.json` |
31
+ | MCP `get_project_workspace_status` | Full `ProjectWorkspaceStatus` (planned) |
32
+ | MCP `list_projects` / `get_project` | Enrich with summary fields when cheap (planned) |
33
+
34
+ Producer helpers live in `src/client/project-workspace-status.ts`
35
+ (`buildProjectWorkspaceStatus`, `formatProjectWorkspaceStatusLines`,
36
+ `enrichProjectListSummary`) and `src/client/project-workspace-inventory.ts`
37
+ (push discovery + `.loxtep/push-manifest.json` compare).
38
+
39
+ Do **not** invent a second list command; enrich the existing `projects` plural group.
40
+
41
+ Distinct from CLI/MCP **`observe status`** (runtime bots/queues).
42
+
43
+ ## Link vs attach (Phase C)
44
+
45
+ | Command | Binds | Writes |
46
+ | --- | --- | --- |
47
+ | `loxtep projects link` / `loxtep link` | Cloud **project** ↔ local directory | `.loxtep/project.json` (`project_id`) + `~/.loxtep/workspaces.json` |
48
+ | `loxtep attach` | Local project ↔ runtime **Instance** | `instance_id` + `api_url` (+ streams) in `.loxtep/project.json` |
49
+ | `loxtep init --project-id` | Same project bind as `link`, plus scaffold dirs | project.json + known-locals upsert |
50
+
51
+ Canonical flow for an existing unbound cloud project:
52
+
53
+ ```text
54
+ loxtep projects link <project_id|name> [--path .]
55
+ loxtep attach --instance <instance-id>
56
+ # edit local package
57
+ loxtep push
58
+ loxtep deploy
59
+ ```
60
+
61
+ GitHub is optional for `link` (`cloud.github.state` may remain `unbound`).
62
+
63
+ ## Population cost (keep list snappy)
64
+
65
+ Field costs live in `PROJECT_WORKSPACE_STATUS_FIELD_COST`. Depth ceilings:
66
+
67
+ | `population_depth` | Cost ceiling | Typical use |
68
+ | --- | --- | --- |
69
+ | `summary` | `cheap` | Every list row: local path presence, github linked\|unbound, attach |
70
+ | `status` | `moderate` | `loxtep status` / MCP get: last deploy id/status/age, dirty **booleans** |
71
+ | `unpublished` | `expensive` | `--unpublished` / `list_project_changes`: entity/file inventories + counts |
72
+
73
+ **Cheap (list-safe):** cwd / known-locals FS checks; columns already on the cloud
74
+ project list row (`project_id`, `name`, `github_repo_*`).
75
+
76
+ **Moderate (status/get):** one deploy lookup (or cached join) per project;
77
+ Local→Cloud dirty boolean via package vs `.loxtep/push-manifest.json`
78
+ (same discovery as `loxtep push`) without attaching per-file lists.
79
+
80
+ **Expensive (opt-in):** `loxtep status --unpublished` / `loxtep projects changes` —
81
+ walk local package vs push manifest (+ optional cloud workflow id escalate),
82
+ attach `unpublished.*.changes` entity/file inventory and counts.
83
+
84
+ Producers SHOULD omit or set `null` rather than stall list enrichment on moderate/expensive work.
85
+
86
+ ## GitHub linked vs unbound
87
+
88
+ `cloud.github.state`:
89
+
90
+ - `linked` — project has GitHub binding (`github_repo_url` / name)
91
+ - `unbound` — no GitHub; Studio/S3 + `loxtep push` path
92
+
93
+ Attach (`local.attach_state`) is **instance** binding (`loxtep attach`), not GitHub.
94
+
95
+ ## Deploy age / status
96
+
97
+ `deployed.state`: `never_deployed` | `deployed` | `stale` | `unknown`.
98
+
99
+ When known: `deployment_id`, `deployment_status`, `last_deployed_at`,
100
+ `age_seconds` (derived). Prefer `unknown` over inventing success when the deploy
101
+ API is unavailable.
102
+
103
+ ## Example (status depth)
104
+
105
+ ```json
106
+ {
107
+ "schema_version": 1,
108
+ "population_depth": "status",
109
+ "project_id": "11111111-1111-1111-1111-111111111111",
110
+ "display_name": "shopify-ingest",
111
+ "local": {
112
+ "presence": "present",
113
+ "path": "/home/you/proj",
114
+ "project_file": "/home/you/proj/.loxtep/project.json",
115
+ "known_local": true,
116
+ "attach_state": "attached",
117
+ "instance_id": "22222222-2222-2222-2222-222222222222",
118
+ "api_url": "https://apidev.loxtep.io",
119
+ "project_id": "11111111-1111-1111-1111-111111111111"
120
+ },
121
+ "cloud": {
122
+ "presence": "present",
123
+ "project_id": "11111111-1111-1111-1111-111111111111",
124
+ "organization_id": "33333333-3333-3333-3333-333333333333",
125
+ "name": "shopify-ingest",
126
+ "status": "active",
127
+ "github": {
128
+ "state": "unbound",
129
+ "url": null,
130
+ "name": null,
131
+ "branch": null,
132
+ "last_sync_at": null
133
+ },
134
+ "workspace_revision": null,
135
+ "workspace_updated_at": null
136
+ },
137
+ "deployed": {
138
+ "presence": "absent",
139
+ "state": "never_deployed",
140
+ "instance_id": "22222222-2222-2222-2222-222222222222",
141
+ "deployment_id": null,
142
+ "deployment_status": null,
143
+ "last_deployed_at": null,
144
+ "age_seconds": null
145
+ },
146
+ "unpublished": {
147
+ "local_to_cloud": {
148
+ "dirty": true,
149
+ "summary": "Local package has changes not pushed",
150
+ "changed_count": null
151
+ },
152
+ "cloud_to_deployed": {
153
+ "dirty": false,
154
+ "summary": "Never deployed",
155
+ "changed_count": null
156
+ }
157
+ },
158
+ "next_action": "push",
159
+ "notes": []
160
+ }
161
+ ```
@@ -12,13 +12,13 @@ deprecation aliases.
12
12
  | --- | --- | --- |
13
13
  | `loxtep_session` | `client.session` | `get_current_user`, `get_current_organization`, `logout` |
14
14
  | `loxtep_connect` | `client.connect` | `.connectors.*`, `.templates.*` |
15
- | `loxtep_workspace` | `client.workspace` | `.projects.*`, `.instances.*`, `.versions` (REST pending) |
15
+ | `loxtep_workspace` | `client.workspace` | `.projects.*`, `.instances.*`, `.versions` (REST pending); planned MCP `get_project_workspace_status` → `ProjectWorkspaceStatus` ([docs](./project-workspace-status.md)) |
16
16
  | `loxtep_build` | `client.build` | `.workflows.*`, `.triggers.*`, `.data_products.*`, `.targets.*`, deploy writes, `.get_writer({ bot_id, queue })` escape hatch |
17
17
  | `loxtep_define` | `client.define` | `.schemas.*`, `.quality.*`, `.standards.*`, `.data_contracts.*`, `.domains.*` |
18
18
  | `loxtep_meaning` | `client.meaning` | `.thesaurus.*` (ontology/semantic REST split pending) |
19
19
  | `loxtep_review` | `client.review` | `.approvals.*`, `.improvements.*`, CDLC and context-mining REST (pending) |
20
20
  | `loxtep_query` | `client.query` | `.catalog.*`, `.discovery.*`, `.query()`, `.list_tables()`, `.search()` |
21
- | `loxtep_observe` | `client.observe` | `.status()`, `.stream_config()`, queue `.open_reader` / `.open_writer`, deployment reads, trust signals |
21
+ | `loxtep_observe` | `client.observe` | `.status()`, `.stream_config()`, queue `.open_reader` / `.open_writer`, `.list_deployments()`, `.get_deployment()`, trust signals |
22
22
  | `loxtep_context` | `client.context` | `.process_intelligence.*`, `.procedures.*`, `.activity.*` |
23
23
 
24
24
  ## Top-level stream I/O
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loxtep/sdk",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "Loxtep SDK for Node.js — the Enterprise Context Layer: data products, workflows, projects, queues, and machine-usable context for AI",
5
5
  "author": "Loxtep <engineering@loxtep.io>",
6
6
  "homepage": "https://loxtep.io",
@@ -3,8 +3,9 @@
3
3
  These JSON Schema draft-07 files are a copy of the Loxtep platform schemas used
4
4
  for customer workspace entity validation.
5
5
 
6
- **Source (canonical):**
7
- `loxtep/platform-backend/_core/src/customer-workspace/entity-json-schemas/`
6
+ **Source (canonical):** Loxtep platform customer-workspace entity JSON schemas
7
+ (private platform monorepo). Sync from a local checkout when those schemas
8
+ change.
8
9
 
9
10
  **Sync command** (from `nodejs/`):
10
11
 
@@ -15,4 +16,4 @@ node scripts/sync-entity-schemas.mjs /path/to/loxtep
15
16
  When platform schemas change, re-run the sync script and note the date/source
16
17
  commit in the SDK CHANGELOG.
17
18
 
18
- **Last synced:** 2026-07-24 (from local loxtep checkout)
19
+ **Last synced:** 2026-07-24 (from local Loxtep platform checkout)
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://loxtep.io/schemas/entity/data-product.json",
4
4
  "title": "Data Product Entity",
5
- "description": "JSON Schema for Data Product entity in customer workspace (Studio / S3 graph). Flow-graph fields (workflow_id, upstream_entity_id, etc.) describe placement in the workflow canvas. The canonical interoperable catalog and API representation is ODPS v4.1 (Open Data Products Standard): include `odps_document` aligned with https://opendataproducts.org/v4.1/schema/odps.json — see `odps-product.json` and .kiro/specs/odps-data-product-standard in the Loxtep repo.",
5
+ "description": "JSON Schema for Data Product entity in customer workspace (Studio / S3 graph). Flow-graph fields (workflow_id, upstream_entity_id, etc.) describe placement in the workflow canvas. The canonical interoperable catalog and API representation is ODPS v4.1 (Open Data Products Standard): include `odps_document` aligned with https://opendataproducts.org/v4.1/schema/odps.json — see `odps-product.json` in this package for the ODPS document shape.",
6
6
  "type": "object",
7
7
  "required": [
8
8
  "data_product_id",
@@ -3,7 +3,7 @@
3
3
  "$id": "https://loxtep.io/schemas/entity/odps-product.json",
4
4
  "title": "ODPS v4.1 Data Product Document",
5
5
  "x-canonical-json-schema": "https://opendataproducts.org/v4.1/schema/odps.json",
6
- "description": "Open Data Products Standard (ODPS) v4.1 root document (`product.*`). Authoritative JSON Schema: https://opendataproducts.org/v4.1/schema/odps.json . Loxtep platform types and mapping: platform-backend/_core/src/types/odps/ and .kiro/specs/odps-data-product-standard. Platform-specific fields live under `product.custom.loxtep` (medallion, storage, ingestion, organization_id, domain_id, project_id, workflow_id, etc.). For strict full-schema validation in toolchains that resolve remote $ref, compose with allOf + $ref to x-canonical-json-schema (requires network or bundled copy).",
6
+ "description": "Open Data Products Standard (ODPS) v4.1 root document (`product.*`). Authoritative JSON Schema: https://opendataproducts.org/v4.1/schema/odps.json . Platform-specific fields live under `product.custom.loxtep` (medallion, storage, ingestion, organization_id, domain_id, project_id, workflow_id, etc.). For strict full-schema validation in toolchains that resolve remote $ref, compose with allOf + $ref to x-canonical-json-schema (requires network or bundled copy).",
7
7
  "type": "object",
8
8
  "required": ["product"],
9
9
  "additionalProperties": false,