@saluzi/saluzi-edu 0.4.7 → 0.4.8

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 (82) hide show
  1. package/dist/cli.js +51 -60
  2. package/dist/guide/guide-data.json +1 -1
  3. package/dist/vendor/archify/LICENSE +22 -0
  4. package/dist/vendor/archify/SKILL.md +137 -0
  5. package/dist/vendor/archify/THIRD_PARTY_NOTICES.md +69 -0
  6. package/dist/vendor/archify/assets/JetBrainsMono-OFL.txt +93 -0
  7. package/dist/vendor/archify/assets/template.html +14934 -0
  8. package/dist/vendor/archify/bin/archify.mjs +2687 -0
  9. package/dist/vendor/archify/bin/open-artifact.mjs +95 -0
  10. package/dist/vendor/archify/bin/preview.mjs +764 -0
  11. package/dist/vendor/archify/bin/visual-check.mjs +1012 -0
  12. package/dist/vendor/archify/brand-marks/README.md +31 -0
  13. package/dist/vendor/archify/brand-marks/catalog.json +131 -0
  14. package/dist/vendor/archify/delta/architecture-delta.mjs +1221 -0
  15. package/dist/vendor/archify/examples/agent-run.lifecycle.json +60 -0
  16. package/dist/vendor/archify/examples/agent-tool-call.workflow.json +94 -0
  17. package/dist/vendor/archify/examples/async-job-roundtrip.sequence.json +61 -0
  18. package/dist/vendor/archify/examples/brand-aware-delivery.architecture.json +47 -0
  19. package/dist/vendor/archify/examples/cache-miss-request.sequence.json +82 -0
  20. package/dist/vendor/archify/examples/checkout-platform.base.architecture.json +31 -0
  21. package/dist/vendor/archify/examples/checkout-platform.head.architecture.json +31 -0
  22. package/dist/vendor/archify/examples/dataflow-product-analytics.html +15045 -0
  23. package/dist/vendor/archify/examples/deployment-release.lifecycle.json +49 -0
  24. package/dist/vendor/archify/examples/event-stream.dataflow.json +57 -0
  25. package/dist/vendor/archify/examples/incident-response.workflow.json +64 -0
  26. package/dist/vendor/archify/examples/lifecycle-agent-run.html +14980 -0
  27. package/dist/vendor/archify/examples/product-analytics.dataflow.json +76 -0
  28. package/dist/vendor/archify/examples/production-deployment.architecture.json +71 -0
  29. package/dist/vendor/archify/examples/release-delivery.workflow.json +62 -0
  30. package/dist/vendor/archify/examples/sequence-cache-miss-request.html +15060 -0
  31. package/dist/vendor/archify/examples/web-app-rendered.html +15009 -0
  32. package/dist/vendor/archify/examples/web-app.architecture.json +46 -0
  33. package/dist/vendor/archify/examples/workflow-agent-tool-call-rendered.html +15051 -0
  34. package/dist/vendor/archify/migrations/workflow-v2.mjs +279 -0
  35. package/dist/vendor/archify/package.json +17 -0
  36. package/dist/vendor/archify/recipes/scenarios.mjs +391 -0
  37. package/dist/vendor/archify/references/authoring-contract.md +243 -0
  38. package/dist/vendor/archify/references/brand-marks.md +65 -0
  39. package/dist/vendor/archify/references/delivery-contract.md +120 -0
  40. package/dist/vendor/archify/references/viewer-runtime.md +45 -0
  41. package/dist/vendor/archify/renderers/architecture/grid.mjs +62 -0
  42. package/dist/vendor/archify/renderers/architecture/render-architecture.mjs +1078 -0
  43. package/dist/vendor/archify/renderers/dataflow/README.md +104 -0
  44. package/dist/vendor/archify/renderers/dataflow/render-dataflow.mjs +483 -0
  45. package/dist/vendor/archify/renderers/lifecycle/README.md +115 -0
  46. package/dist/vendor/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
  47. package/dist/vendor/archify/renderers/sequence/README.md +114 -0
  48. package/dist/vendor/archify/renderers/sequence/render-sequence.mjs +464 -0
  49. package/dist/vendor/archify/renderers/shared/brand-marks.mjs +563 -0
  50. package/dist/vendor/archify/renderers/shared/cli.mjs +218 -0
  51. package/dist/vendor/archify/renderers/shared/desktop-readability.mjs +26 -0
  52. package/dist/vendor/archify/renderers/shared/diagnostics.mjs +127 -0
  53. package/dist/vendor/archify/renderers/shared/engineering-profiles.mjs +157 -0
  54. package/dist/vendor/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
  55. package/dist/vendor/archify/renderers/shared/generated-validators.mjs +13 -0
  56. package/dist/vendor/archify/renderers/shared/geometry.mjs +1423 -0
  57. package/dist/vendor/archify/renderers/shared/i18n.mjs +595 -0
  58. package/dist/vendor/archify/renderers/shared/layout-report.mjs +40 -0
  59. package/dist/vendor/archify/renderers/shared/legend.mjs +217 -0
  60. package/dist/vendor/archify/renderers/shared/output-path.mjs +340 -0
  61. package/dist/vendor/archify/renderers/shared/repository-evidence.mjs +238 -0
  62. package/dist/vendor/archify/renderers/shared/repository-location.mjs +58 -0
  63. package/dist/vendor/archify/renderers/shared/text-fit.mjs +49 -0
  64. package/dist/vendor/archify/renderers/shared/utils.mjs +232 -0
  65. package/dist/vendor/archify/renderers/shared/validator.mjs +86 -0
  66. package/dist/vendor/archify/renderers/workflow/README.md +223 -0
  67. package/dist/vendor/archify/renderers/workflow/render-workflow.mjs +35 -0
  68. package/dist/vendor/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
  69. package/dist/vendor/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  70. package/dist/vendor/archify/schemas/README.md +211 -0
  71. package/dist/vendor/archify/schemas/architecture.schema.json +178 -0
  72. package/dist/vendor/archify/schemas/common.schema.json +115 -0
  73. package/dist/vendor/archify/schemas/dataflow.schema.json +243 -0
  74. package/dist/vendor/archify/schemas/lifecycle.schema.json +266 -0
  75. package/dist/vendor/archify/schemas/sequence.schema.json +223 -0
  76. package/dist/vendor/archify/schemas/workflow.schema.json +428 -0
  77. package/dist/vendor/archify/scripts/check-render-output.mjs +836 -0
  78. package/dist/vendor/archify/scripts/check-update.mjs +1667 -0
  79. package/dist/vendor/archify/scripts/render-examples.mjs +26 -0
  80. package/dist/vendor/archify/scripts/update-contract.mjs +182 -0
  81. package/dist/vendor/archify/skill-release.json +10 -0
  82. package/package.json +1 -1
@@ -0,0 +1,95 @@
1
+ import { spawnSync } from 'node:child_process'
2
+ import path from 'node:path'
3
+
4
+ const OPENERS = {
5
+ darwin: {
6
+ command: 'open',
7
+ method: 'open',
8
+ args: target => [target],
9
+ },
10
+ linux: {
11
+ command: 'xdg-open',
12
+ method: 'xdg-open',
13
+ args: target => [target],
14
+ },
15
+ win32: {
16
+ command: 'powershell.exe',
17
+ method: 'powershell',
18
+ // Keep the command constant and pass the target through PowerShell's
19
+ // argument array. Paths are never interpolated into executable source.
20
+ args: target => [
21
+ '-NoProfile',
22
+ '-NonInteractive',
23
+ '-Command',
24
+ 'Start-Process -FilePath $args[0]',
25
+ target,
26
+ ],
27
+ },
28
+ }
29
+
30
+ function launchTarget(target, options = {}) {
31
+ const platform = options.platform || process.platform
32
+ const opener = OPENERS[platform]
33
+ if (!opener) {
34
+ return {
35
+ requested: true,
36
+ status: 'unsupported',
37
+ target,
38
+ method: null,
39
+ }
40
+ }
41
+
42
+ const spawn = options.spawn || spawnSync
43
+ let result
44
+ try {
45
+ result = spawn(opener.command, opener.args(target), {
46
+ encoding: 'utf8',
47
+ shell: false,
48
+ stdio: 'ignore',
49
+ timeout: options.timeoutMs || 5000,
50
+ windowsHide: true,
51
+ })
52
+ } catch {
53
+ result = { error: new Error('opener threw') }
54
+ }
55
+
56
+ let status = 'opened'
57
+ if (result?.error?.code === 'ENOENT') status = 'unsupported'
58
+ else if (result?.error || result?.signal || result?.status !== 0)
59
+ status = 'failed'
60
+
61
+ return {
62
+ requested: true,
63
+ status,
64
+ target,
65
+ method: opener.method,
66
+ }
67
+ }
68
+
69
+ export function openArtifact(target, options = {}) {
70
+ return launchTarget(path.resolve(target), options)
71
+ }
72
+
73
+ export function openLoopbackUrl(target, options = {}) {
74
+ let url
75
+ try {
76
+ url = new URL(target)
77
+ } catch {
78
+ throw new TypeError('Preview URL must be a valid loopback HTTP URL.')
79
+ }
80
+ if (url.protocol !== 'http:' || url.hostname !== '127.0.0.1' || !url.port) {
81
+ throw new TypeError(
82
+ 'Preview URL must be a loopback URL using http://127.0.0.1:<port>.',
83
+ )
84
+ }
85
+ if (
86
+ url.username ||
87
+ url.password ||
88
+ url.pathname !== '/' ||
89
+ url.search ||
90
+ url.hash
91
+ ) {
92
+ throw new TypeError('Preview URL must target the loopback preview root.')
93
+ }
94
+ return launchTarget(url.href, options)
95
+ }