@cotrrackpro-dev/sdk 0.1.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 (233) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +111 -0
  4. package/dist/assistant/compliance.d.ts +24 -0
  5. package/dist/assistant/compliance.js +60 -0
  6. package/dist/assistant/compliance.js.map +1 -0
  7. package/dist/assistant/crisis.d.ts +31 -0
  8. package/dist/assistant/crisis.js +62 -0
  9. package/dist/assistant/crisis.js.map +1 -0
  10. package/dist/assistant/index.d.ts +15 -0
  11. package/dist/assistant/index.js +16 -0
  12. package/dist/assistant/index.js.map +1 -0
  13. package/dist/assistant/levels.d.ts +43 -0
  14. package/dist/assistant/levels.js +102 -0
  15. package/dist/assistant/levels.js.map +1 -0
  16. package/dist/assistant/prompt.d.ts +20 -0
  17. package/dist/assistant/prompt.js +96 -0
  18. package/dist/assistant/prompt.js.map +1 -0
  19. package/dist/assistant/rbac.d.ts +45 -0
  20. package/dist/assistant/rbac.js +75 -0
  21. package/dist/assistant/rbac.js.map +1 -0
  22. package/dist/assistant/readability.d.ts +28 -0
  23. package/dist/assistant/readability.js +70 -0
  24. package/dist/assistant/readability.js.map +1 -0
  25. package/dist/auth/broker.d.ts +32 -0
  26. package/dist/auth/broker.js +48 -0
  27. package/dist/auth/broker.js.map +1 -0
  28. package/dist/auth/deviceFlow.d.ts +26 -0
  29. package/dist/auth/deviceFlow.js +65 -0
  30. package/dist/auth/deviceFlow.js.map +1 -0
  31. package/dist/auth/provider.d.ts +32 -0
  32. package/dist/auth/provider.js +29 -0
  33. package/dist/auth/provider.js.map +1 -0
  34. package/dist/community/badges.d.ts +19 -0
  35. package/dist/community/badges.js +19 -0
  36. package/dist/community/badges.js.map +1 -0
  37. package/dist/community/events.d.ts +30 -0
  38. package/dist/community/events.js +31 -0
  39. package/dist/community/events.js.map +1 -0
  40. package/dist/community/identity.d.ts +28 -0
  41. package/dist/community/identity.js +2 -0
  42. package/dist/community/identity.js.map +1 -0
  43. package/dist/community/index.d.ts +7 -0
  44. package/dist/community/index.js +8 -0
  45. package/dist/community/index.js.map +1 -0
  46. package/dist/community/org.d.ts +46 -0
  47. package/dist/community/org.js +32 -0
  48. package/dist/community/org.js.map +1 -0
  49. package/dist/community/tiers.d.ts +8 -0
  50. package/dist/community/tiers.js +40 -0
  51. package/dist/community/tiers.js.map +1 -0
  52. package/dist/community/types.d.ts +26 -0
  53. package/dist/community/types.js +2 -0
  54. package/dist/community/types.js.map +1 -0
  55. package/dist/core/config.d.ts +22 -0
  56. package/dist/core/config.js +27 -0
  57. package/dist/core/config.js.map +1 -0
  58. package/dist/core/errors.d.ts +29 -0
  59. package/dist/core/errors.js +20 -0
  60. package/dist/core/errors.js.map +1 -0
  61. package/dist/core/transport.d.ts +45 -0
  62. package/dist/core/transport.js +109 -0
  63. package/dist/core/transport.js.map +1 -0
  64. package/dist/diagram/core.d.ts +11 -0
  65. package/dist/diagram/core.js +12 -0
  66. package/dist/diagram/core.js.map +1 -0
  67. package/dist/diagram/extract.d.ts +17 -0
  68. package/dist/diagram/extract.js +213 -0
  69. package/dist/diagram/extract.js.map +1 -0
  70. package/dist/diagram/index.d.ts +2 -0
  71. package/dist/diagram/index.js +3 -0
  72. package/dist/diagram/index.js.map +1 -0
  73. package/dist/diagram/mermaid.d.ts +10 -0
  74. package/dist/diagram/mermaid.js +50 -0
  75. package/dist/diagram/mermaid.js.map +1 -0
  76. package/dist/diagram/prompt.d.ts +4 -0
  77. package/dist/diagram/prompt.js +16 -0
  78. package/dist/diagram/prompt.js.map +1 -0
  79. package/dist/diagram/types.d.ts +33 -0
  80. package/dist/diagram/types.js +2 -0
  81. package/dist/diagram/types.js.map +1 -0
  82. package/dist/diagram/validate.d.ts +13 -0
  83. package/dist/diagram/validate.js +48 -0
  84. package/dist/diagram/validate.js.map +1 -0
  85. package/dist/guide/compose.d.ts +10 -0
  86. package/dist/guide/compose.js +31 -0
  87. package/dist/guide/compose.js.map +1 -0
  88. package/dist/guide/core.d.ts +10 -0
  89. package/dist/guide/core.js +11 -0
  90. package/dist/guide/core.js.map +1 -0
  91. package/dist/guide/index.d.ts +2 -0
  92. package/dist/guide/index.js +3 -0
  93. package/dist/guide/index.js.map +1 -0
  94. package/dist/guide/prompt.d.ts +8 -0
  95. package/dist/guide/prompt.js +20 -0
  96. package/dist/guide/prompt.js.map +1 -0
  97. package/dist/guide/render.d.ts +9 -0
  98. package/dist/guide/render.js +180 -0
  99. package/dist/guide/render.js.map +1 -0
  100. package/dist/guide/types.d.ts +67 -0
  101. package/dist/guide/types.js +2 -0
  102. package/dist/guide/types.js.map +1 -0
  103. package/dist/index.d.ts +18 -0
  104. package/dist/index.js +19 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/mcp/artifacts.generated.d.ts +19 -0
  107. package/dist/mcp/artifacts.generated.js +140 -0
  108. package/dist/mcp/artifacts.generated.js.map +1 -0
  109. package/dist/mcp/format.d.ts +10 -0
  110. package/dist/mcp/format.js +17 -0
  111. package/dist/mcp/format.js.map +1 -0
  112. package/dist/mcp/index.d.ts +12 -0
  113. package/dist/mcp/index.js +18 -0
  114. package/dist/mcp/index.js.map +1 -0
  115. package/dist/mcp/knowledge.generated.d.ts +11 -0
  116. package/dist/mcp/knowledge.generated.js +12 -0
  117. package/dist/mcp/knowledge.generated.js.map +1 -0
  118. package/dist/mcp/prompt-modules.generated.d.ts +12 -0
  119. package/dist/mcp/prompt-modules.generated.js +19 -0
  120. package/dist/mcp/prompt-modules.generated.js.map +1 -0
  121. package/dist/mcp/roles.generated.d.ts +15 -0
  122. package/dist/mcp/roles.generated.js +25 -0
  123. package/dist/mcp/roles.generated.js.map +1 -0
  124. package/dist/mcp/safety.d.ts +35 -0
  125. package/dist/mcp/safety.js +76 -0
  126. package/dist/mcp/safety.js.map +1 -0
  127. package/dist/mcp/scenarios.generated.d.ts +13 -0
  128. package/dist/mcp/scenarios.generated.js +16 -0
  129. package/dist/mcp/scenarios.generated.js.map +1 -0
  130. package/dist/mcp/search.d.ts +13 -0
  131. package/dist/mcp/search.js +33 -0
  132. package/dist/mcp/search.js.map +1 -0
  133. package/dist/mcp/skills.generated.d.ts +17 -0
  134. package/dist/mcp/skills.generated.js +40 -0
  135. package/dist/mcp/skills.generated.js.map +1 -0
  136. package/dist/mcp/toolset.d.ts +31 -0
  137. package/dist/mcp/toolset.js +54 -0
  138. package/dist/mcp/toolset.js.map +1 -0
  139. package/dist/mcp/types.d.ts +96 -0
  140. package/dist/mcp/types.js +9 -0
  141. package/dist/mcp/types.js.map +1 -0
  142. package/dist/mcp/workflows.generated.d.ts +17 -0
  143. package/dist/mcp/workflows.generated.js +12 -0
  144. package/dist/mcp/workflows.generated.js.map +1 -0
  145. package/dist/nocode/core.d.ts +12 -0
  146. package/dist/nocode/core.js +13 -0
  147. package/dist/nocode/core.js.map +1 -0
  148. package/dist/nocode/examples.d.ts +28 -0
  149. package/dist/nocode/examples.js +218 -0
  150. package/dist/nocode/examples.js.map +1 -0
  151. package/dist/nocode/index.d.ts +2 -0
  152. package/dist/nocode/index.js +3 -0
  153. package/dist/nocode/index.js.map +1 -0
  154. package/dist/nocode/mermaid.d.ts +9 -0
  155. package/dist/nocode/mermaid.js +33 -0
  156. package/dist/nocode/mermaid.js.map +1 -0
  157. package/dist/nocode/prompt.d.ts +8 -0
  158. package/dist/nocode/prompt.js +46 -0
  159. package/dist/nocode/prompt.js.map +1 -0
  160. package/dist/nocode/runtime.d.ts +28 -0
  161. package/dist/nocode/runtime.js +113 -0
  162. package/dist/nocode/runtime.js.map +1 -0
  163. package/dist/nocode/simpleOps.d.ts +16 -0
  164. package/dist/nocode/simpleOps.js +137 -0
  165. package/dist/nocode/simpleOps.js.map +1 -0
  166. package/dist/nocode/types.d.ts +72 -0
  167. package/dist/nocode/types.js +12 -0
  168. package/dist/nocode/types.js.map +1 -0
  169. package/dist/nocode/validate.d.ts +17 -0
  170. package/dist/nocode/validate.js +136 -0
  171. package/dist/nocode/validate.js.map +1 -0
  172. package/dist/params/codegen.d.ts +8 -0
  173. package/dist/params/codegen.js +12 -0
  174. package/dist/params/codegen.js.map +1 -0
  175. package/dist/params/convert.d.ts +7 -0
  176. package/dist/params/convert.js +123 -0
  177. package/dist/params/convert.js.map +1 -0
  178. package/dist/params/core.d.ts +11 -0
  179. package/dist/params/core.js +12 -0
  180. package/dist/params/core.js.map +1 -0
  181. package/dist/params/fieldTypes.d.ts +26 -0
  182. package/dist/params/fieldTypes.js +29 -0
  183. package/dist/params/fieldTypes.js.map +1 -0
  184. package/dist/params/index.d.ts +3 -0
  185. package/dist/params/index.js +4 -0
  186. package/dist/params/index.js.map +1 -0
  187. package/dist/params/prompt.d.ts +4 -0
  188. package/dist/params/prompt.js +16 -0
  189. package/dist/params/prompt.js.map +1 -0
  190. package/dist/params/render.d.ts +5 -0
  191. package/dist/params/render.js +25 -0
  192. package/dist/params/render.js.map +1 -0
  193. package/dist/params/types.d.ts +76 -0
  194. package/dist/params/types.js +16 -0
  195. package/dist/params/types.js.map +1 -0
  196. package/dist/params/validate.d.ts +5 -0
  197. package/dist/params/validate.js +104 -0
  198. package/dist/params/validate.js.map +1 -0
  199. package/dist/resources/client.d.ts +58 -0
  200. package/dist/resources/client.js +79 -0
  201. package/dist/resources/client.js.map +1 -0
  202. package/dist/resources/types.d.ts +72 -0
  203. package/dist/resources/types.js +9 -0
  204. package/dist/resources/types.js.map +1 -0
  205. package/dist/workflow/assets.d.ts +8 -0
  206. package/dist/workflow/assets.js +16 -0
  207. package/dist/workflow/assets.js.map +1 -0
  208. package/dist/workflow/commands.d.ts +10 -0
  209. package/dist/workflow/commands.js +21 -0
  210. package/dist/workflow/commands.js.map +1 -0
  211. package/dist/workflow/core.d.ts +15 -0
  212. package/dist/workflow/core.js +16 -0
  213. package/dist/workflow/core.js.map +1 -0
  214. package/dist/workflow/index.d.ts +2 -0
  215. package/dist/workflow/index.js +3 -0
  216. package/dist/workflow/index.js.map +1 -0
  217. package/dist/workflow/stack.d.ts +11 -0
  218. package/dist/workflow/stack.js +40 -0
  219. package/dist/workflow/stack.js.map +1 -0
  220. package/dist/workflow/templates.d.ts +17 -0
  221. package/dist/workflow/templates.js +223 -0
  222. package/dist/workflow/templates.js.map +1 -0
  223. package/dist/workflow/types.d.ts +27 -0
  224. package/dist/workflow/types.js +2 -0
  225. package/dist/workflow/types.js.map +1 -0
  226. package/package.json +77 -0
  227. package/schemas/artifacts.index.json +1211 -0
  228. package/schemas/knowledge.index.json +49 -0
  229. package/schemas/prompt-modules.index.json +105 -0
  230. package/schemas/roles.index.json +431 -0
  231. package/schemas/scenarios.index.json +15 -0
  232. package/schemas/skills.index.json +670 -0
  233. package/schemas/workflows.index.json +462 -0
@@ -0,0 +1,223 @@
1
+ /** Base module files, pre-wired to @cotrackpro/sdk. (Was scaffold.ts `template`.) */
2
+ export function moduleTemplate(name, pkg) {
3
+ const packageJson = JSON.stringify({
4
+ name: pkg,
5
+ version: "0.1.0",
6
+ description: `CoTrackPro ${name} module`,
7
+ type: "module",
8
+ main: "./src/index.ts",
9
+ types: "./src/index.ts",
10
+ engines: { node: ">=20" },
11
+ scripts: { typecheck: "tsc --noEmit" },
12
+ dependencies: { "@cotrackpro/sdk": "^0.1.0" },
13
+ devDependencies: { "@types/node": "^20.14.0", typescript: "^5.5.0" },
14
+ }, null, 2) + "\n";
15
+ const tsconfig = JSON.stringify({
16
+ compilerOptions: {
17
+ target: "ES2022",
18
+ module: "NodeNext",
19
+ moduleResolution: "NodeNext",
20
+ strict: true,
21
+ noUncheckedIndexedAccess: true,
22
+ declaration: true,
23
+ skipLibCheck: true,
24
+ outDir: "dist",
25
+ rootDir: "src",
26
+ },
27
+ include: ["src"],
28
+ }, null, 2) + "\n";
29
+ const index = [
30
+ `import { createClient, StaticTokenProvider } from "@cotrackpro/sdk";`,
31
+ `import { ARTIFACTS, type ArtifactName } from "@cotrackpro/sdk/mcp";`,
32
+ ``,
33
+ `/**`,
34
+ ` * ${pkg} — a CoTrackPro module, pre-wired to the shared platform SDK.`,
35
+ ` * Set COTRACKPRO_TOKEN (and optionally COTRACKPRO_API / COTRACKPRO_ORG).`,
36
+ ` */`,
37
+ `export function client() {`,
38
+ ` const token = process.env.COTRACKPRO_TOKEN;`,
39
+ ` if (!token) throw new Error("Set COTRACKPRO_TOKEN to authenticate.");`,
40
+ ` return createClient({`,
41
+ ` baseUrl: process.env.COTRACKPRO_API ?? "https://api.cotrackpro.com",`,
42
+ ` org: process.env.COTRACKPRO_ORG ?? null,`,
43
+ ` auth: new StaticTokenProvider(token),`,
44
+ ` });`,
45
+ `}`,
46
+ ``,
47
+ `export async function whoAmI() {`,
48
+ ` return client().whoami();`,
49
+ `}`,
50
+ ``,
51
+ `// The platform artifacts this module produces are typed end-to-end.`,
52
+ `export const ARTIFACT: ArtifactName = "case-documentation";`,
53
+ `export const ARTIFACT_TITLE = ARTIFACTS[ARTIFACT].title;`,
54
+ ``,
55
+ ].join("\n");
56
+ const readme = [
57
+ `# ${pkg}`,
58
+ ``,
59
+ `A CoTrackPro ${name} module, scaffolded by \`cotrackpro scaffold\`.`,
60
+ `It is pre-wired to **@cotrackpro/sdk** — typed transport, pluggable auth, and`,
61
+ `typed MCP/artifact bindings — so you start from a working baseline.`,
62
+ ``,
63
+ `\`\`\`sh`,
64
+ `npm install # resolves @cotrackpro/sdk from CodeArtifact once published`,
65
+ `export COTRACKPRO_TOKEN=... # then:`,
66
+ `npm run typecheck`,
67
+ `\`\`\``,
68
+ ``,
69
+ `See \`src/index.ts\` for the SDK wiring.`,
70
+ ``,
71
+ ].join("\n");
72
+ return {
73
+ "package.json": packageJson,
74
+ "tsconfig.json": tsconfig,
75
+ "src/index.ts": index,
76
+ "README.md": readme,
77
+ };
78
+ }
79
+ /** A local plugin that retrieves GATED data via a CLI-brokered token. (Was scaffold.ts `pluginTemplate`.) */
80
+ export function pluginTemplate(name, pkg, scopes) {
81
+ const required = scopes.length ? scopes : ["org:packages:read"];
82
+ const packageJson = JSON.stringify({
83
+ name: pkg,
84
+ version: "0.1.0",
85
+ description: `CoTrackPro ${name} plugin (gated via the CLI broker)`,
86
+ type: "module",
87
+ bin: { [`cotrackpro-${name}`]: "./dist/index.js" },
88
+ engines: { node: ">=20" },
89
+ scripts: { build: "tsc -p tsconfig.json", typecheck: "tsc --noEmit" },
90
+ dependencies: { "@cotrackpro/sdk": "^0.1.0" },
91
+ devDependencies: { "@types/node": "^20.14.0", typescript: "^5.5.0" },
92
+ }, null, 2) + "\n";
93
+ const tsconfig = JSON.stringify({
94
+ compilerOptions: {
95
+ target: "ES2022", module: "NodeNext", moduleResolution: "NodeNext",
96
+ strict: true, declaration: true, skipLibCheck: true, outDir: "dist", rootDir: "src",
97
+ },
98
+ include: ["src"],
99
+ }, null, 2) + "\n";
100
+ const pluginManifest = JSON.stringify({ name: `cotrackpro-${name}`, version: "0.1.0", description: `CoTrackPro ${name} plugin`, kind: "command", bin: "dist/index.js", requiredScopes: required }, null, 2) + "\n";
101
+ const index = [
102
+ `import { clientFromBrokerEnv, brokerScopes } from "@cotrackpro/sdk";`,
103
+ ``,
104
+ `/**`,
105
+ ` * ${pkg} — a local plugin that retrieves GATED platform data through the CLI.`,
106
+ ` * The CLI mints a short-lived, scoped token and injects COTRACKPRO_PLUGIN_TOKEN;`,
107
+ ` * this process never sees your credentials.`,
108
+ ` */`,
109
+ `async function main() {`,
110
+ ` const cp = clientFromBrokerEnv();`,
111
+ ` const packages = await cp.packages.list(); // requires the brokered scope(s)`,
112
+ ` console.log(JSON.stringify({ scopes: brokerScopes(), packages }, null, 2));`,
113
+ `}`,
114
+ ``,
115
+ `main().catch((e) => {`,
116
+ ` console.error((e as Error).message ?? e);`,
117
+ ` process.exit(1);`,
118
+ `});`,
119
+ ``,
120
+ ].join("\n");
121
+ const readme = [
122
+ `# ${pkg}`,
123
+ ``,
124
+ `A CoTrackPro **gated** plugin, scaffolded by \`cotrackpro scaffold --plugin\`. It reads`,
125
+ `gated platform data using a token the CLI brokers — it never handles credentials.`,
126
+ ``,
127
+ `Required scopes: \`${required.join(", ")}\``,
128
+ ``,
129
+ `## Run it`,
130
+ `\`\`\`sh`,
131
+ `npm install && npm run build`,
132
+ `# Option A — register as a local plugin; the CLI injects a scoped token on launch:`,
133
+ `cotrackpro plugins register .`,
134
+ `# Option B — broker a token into your shell, then run directly:`,
135
+ `eval "$(cotrackpro token --scopes ${required.join(",")} --export)"`,
136
+ `node dist/index.js`,
137
+ `\`\`\``,
138
+ ``,
139
+ ].join("\n");
140
+ return {
141
+ "package.json": packageJson,
142
+ "tsconfig.json": tsconfig,
143
+ "cotrackpro.plugin.json": pluginManifest,
144
+ "src/index.ts": index,
145
+ "README.md": readme,
146
+ };
147
+ }
148
+ const idArray = (xs) => `[${xs.map((x) => JSON.stringify(x)).join(", ")}]`;
149
+ /** A typed module pinning the exact catalog pieces a blueprint builds on. (Was project.ts `renderBlueprintModule`.) */
150
+ export function blueprintModule(spec) {
151
+ const scenarios = (spec.scenarios ?? []).map((s) => s.name);
152
+ const workflows = (spec.workflows ?? []).map((w) => w.id);
153
+ const roles = (spec.roles ?? []).map((r) => r.id);
154
+ const artifacts = (spec.artifacts ?? []).map((a) => a.name);
155
+ const guardrails = spec.guardrails ?? [];
156
+ const disciplines = spec.disciplines ?? [];
157
+ return [
158
+ `import {`,
159
+ ` ARTIFACTS, ROLES, WORKFLOWS, SCENARIOS, PROMPT_MODULES,`,
160
+ ` type ArtifactName, type RoleId, type WorkflowId, type ScenarioName, type PromptModuleName,`,
161
+ `} from "@cotrackpro/sdk/mcp";`,
162
+ ``,
163
+ `/**`,
164
+ ` * ${spec.title} — ${disciplines.join(" × ")}.`,
165
+ ` * The platform catalog pieces this module is wired to, typed end-to-end:`,
166
+ ` * if the catalog drops one of these, this file stops compiling.`,
167
+ ` */`,
168
+ `export const BLUEPRINT = ${JSON.stringify({ id: spec.id, title: spec.title, disciplines }, null, 2)} as const;`,
169
+ ``,
170
+ `export const SCENARIOS_USED: ScenarioName[] = ${idArray(scenarios)};`,
171
+ `export const WORKFLOWS_USED: WorkflowId[] = ${idArray(workflows)};`,
172
+ `export const ROLES_USED: RoleId[] = ${idArray(roles)};`,
173
+ `export const ARTIFACTS_USED: ArtifactName[] = ${idArray(artifacts)};`,
174
+ `export const PROMPT_MODULES_USED: PromptModuleName[] = ${idArray(guardrails)};`,
175
+ ``,
176
+ `// Typed metadata for the pieces above (titles, sensitivities, descriptions).`,
177
+ `export const scenarios = SCENARIOS_USED.map((n) => SCENARIOS[n]);`,
178
+ `export const workflows = WORKFLOWS_USED.map((n) => WORKFLOWS[n]);`,
179
+ `export const roles = ROLES_USED.map((n) => ROLES[n]);`,
180
+ `export const artifacts = ARTIFACTS_USED.map((n) => ARTIFACTS[n]);`,
181
+ `export const promptModules = PROMPT_MODULES_USED.map((n) => PROMPT_MODULES[n]);`,
182
+ ``,
183
+ ].join("\n");
184
+ }
185
+ /** The blueprint module README. (Was project.ts `renderReadme`; guardrails listed by name.) */
186
+ export function blueprintReadme(spec, pkg) {
187
+ const list = (title, items) => [`### ${title}`, "", ...items.map((i) => `- ${i}`), ""].join("\n");
188
+ const disciplines = spec.disciplines ?? [];
189
+ return [
190
+ `# ${pkg}`,
191
+ ``,
192
+ `**${spec.title}** — an interdisciplinary starter (${disciplines.join(" × ")}), scaffolded by`,
193
+ "`cotrackpro project new " + spec.id + "`. It is pre-wired to **@cotrackpro/sdk** and pinned to the",
194
+ `platform catalog pieces below (see \`src/blueprint.ts\`), so you start from a typed, working baseline.`,
195
+ ``,
196
+ `> ${spec.summary}`,
197
+ ``,
198
+ `## What it builds on`,
199
+ ``,
200
+ list("Scenarios", (spec.scenarios ?? []).map((s) => `\`${s.name}\` — ${s.title}`)),
201
+ list("Workflows", (spec.workflows ?? []).map((w) => `\`${w.id}\` — ${w.name}`)),
202
+ list("Roles", (spec.roles ?? []).map((r) => `\`${r.id}\` — ${r.label}`)),
203
+ list("Artifacts", (spec.artifacts ?? []).map((a) => `\`${a.name}\` — ${a.title}`)),
204
+ list("Prompt modules (safety guardrails)", (spec.guardrails ?? []).map((n) => `\`${n}\``)),
205
+ `## Run it`,
206
+ ``,
207
+ "```sh",
208
+ `npm install # resolves @cotrackpro/sdk once published`,
209
+ `export COTRACKPRO_TOKEN=... # then:`,
210
+ `npm run typecheck`,
211
+ "```",
212
+ ``,
213
+ `## A note on safety`,
214
+ ``,
215
+ `This module produces **educational and informational** content only — not legal or clinical`,
216
+ `advice. Keep language court-neutral and child-centered: describe behavior, use a child's`,
217
+ `initials or a pseudonym, and never characterize the other parent. Crisis resources: **988**`,
218
+ `(Suicide & Crisis Lifeline), text **HOME** to **741741**, **1-800-799-7233** (DV hotline),`,
219
+ `**1-800-422-4453** (Childhelp), **911** for immediate danger.`,
220
+ ``,
221
+ ].join("\n");
222
+ }
223
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Workflow Studio model. ONE source (a blueprint/workflow/scenario resolved
3
+ * against the catalog) projected three ways — playbook (no-code markdown),
4
+ * CLI/CloudShell commands, and an asset file-tree — so developers and no-code
5
+ * builders work from the same source of truth.
6
+ *
7
+ * A `WorkflowSpec` is structurally the `GuideInput` the guide engine already
8
+ * consumes (and `gen-reference.ts` already emits as `guide-sources`), so no new
9
+ * data shape is introduced. Import-free by construction (the cross-folder
10
+ * dependency is a type-only import, stripped at compile time).
11
+ */
12
+ import type { GuideInput } from "../guide/types.js";
13
+ /** The single source of truth for the three projections. */
14
+ export type WorkflowSpec = GuideInput;
15
+ /** One file in a generated asset manifest. */
16
+ export interface AssetFile {
17
+ path: string;
18
+ contents: string;
19
+ }
20
+ export interface WorkflowCommandsOptions {
21
+ /** Repos to clone before scaffolding. Default: derived from the spec. */
22
+ repos?: string[];
23
+ /** Where the guide markdown is written in the emitted sequence. Default "docs/onboarding.md". */
24
+ guideOut?: string;
25
+ /** `&&`-chain the steps (true, default) or newline-separate them. */
26
+ chain?: boolean;
27
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@cotrrackpro-dev/sdk",
3
+ "version": "0.1.0",
4
+ "description": "Typed TypeScript SDK for the CoTrackPro platform — transport, pluggable auth, typed API resources, and MCP/artifact bindings. Consumed by the CLI and every cotrackpro* repo.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./mcp": {
15
+ "types": "./dist/mcp/index.d.ts",
16
+ "default": "./dist/mcp/index.js"
17
+ },
18
+ "./params": {
19
+ "types": "./dist/params/index.d.ts",
20
+ "default": "./dist/params/index.js"
21
+ },
22
+ "./diagram": {
23
+ "types": "./dist/diagram/index.d.ts",
24
+ "default": "./dist/diagram/index.js"
25
+ },
26
+ "./guide": {
27
+ "types": "./dist/guide/index.d.ts",
28
+ "default": "./dist/guide/index.js"
29
+ },
30
+ "./workflow": {
31
+ "types": "./dist/workflow/index.d.ts",
32
+ "default": "./dist/workflow/index.js"
33
+ },
34
+ "./community": {
35
+ "types": "./dist/community/index.d.ts",
36
+ "default": "./dist/community/index.js"
37
+ },
38
+ "./nocode": {
39
+ "types": "./dist/nocode/index.d.ts",
40
+ "default": "./dist/nocode/index.js"
41
+ },
42
+ "./assistant": {
43
+ "types": "./dist/assistant/index.d.ts",
44
+ "default": "./dist/assistant/index.js"
45
+ }
46
+ },
47
+ "files": [
48
+ "dist",
49
+ "schemas",
50
+ "README.md",
51
+ "CHANGELOG.md",
52
+ "LICENSE"
53
+ ],
54
+ "sideEffects": false,
55
+ "engines": {
56
+ "node": ">=20"
57
+ },
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "https://github.com/dougdevitre/cotrackpro-cli.git",
61
+ "directory": "sdk"
62
+ },
63
+ "scripts": {
64
+ "build": "tsc -p tsconfig.json",
65
+ "typecheck": "tsc --noEmit",
66
+ "codegen": "tsx scripts/gen-artifacts.ts && tsx scripts/gen-registries.ts",
67
+ "prepack": "npm run build"
68
+ },
69
+ "devDependencies": {
70
+ "js-yaml": "^4.1.0",
71
+ "json-schema-to-typescript": "^15.0.0"
72
+ },
73
+ "publishConfig": {
74
+ "access": "public"
75
+ },
76
+ "author": "Doug Devitre"
77
+ }