@stigmer/sdk 3.0.8-dev.20260613074252 → 3.0.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 (136) hide show
  1. package/execution/tool-view.d.ts +7 -0
  2. package/execution/tool-view.d.ts.map +1 -1
  3. package/execution/tool-view.js +14 -0
  4. package/execution/tool-view.js.map +1 -1
  5. package/gen/agent.d.ts +1 -0
  6. package/gen/agent.d.ts.map +1 -1
  7. package/gen/agent.js +1 -1
  8. package/gen/agent.js.map +1 -1
  9. package/gen/agentexecution.d.ts +1 -0
  10. package/gen/agentexecution.d.ts.map +1 -1
  11. package/gen/agentexecution.js +1 -1
  12. package/gen/agentexecution.js.map +1 -1
  13. package/gen/agentinstance.d.ts +1 -0
  14. package/gen/agentinstance.d.ts.map +1 -1
  15. package/gen/agentinstance.js +1 -1
  16. package/gen/agentinstance.js.map +1 -1
  17. package/gen/apikey.d.ts +1 -0
  18. package/gen/apikey.d.ts.map +1 -1
  19. package/gen/apikey.js +1 -1
  20. package/gen/apikey.js.map +1 -1
  21. package/gen/artifact.d.ts +1 -0
  22. package/gen/artifact.d.ts.map +1 -1
  23. package/gen/artifact.js +1 -1
  24. package/gen/artifact.js.map +1 -1
  25. package/gen/environment.d.ts +1 -0
  26. package/gen/environment.d.ts.map +1 -1
  27. package/gen/environment.js +1 -1
  28. package/gen/environment.js.map +1 -1
  29. package/gen/executioncontext.d.ts +1 -0
  30. package/gen/executioncontext.d.ts.map +1 -1
  31. package/gen/executioncontext.js +1 -1
  32. package/gen/executioncontext.js.map +1 -1
  33. package/gen/iampolicy.d.ts +1 -0
  34. package/gen/iampolicy.d.ts.map +1 -1
  35. package/gen/iampolicy.js +1 -1
  36. package/gen/iampolicy.js.map +1 -1
  37. package/gen/identityaccount.d.ts +1 -0
  38. package/gen/identityaccount.d.ts.map +1 -1
  39. package/gen/identityaccount.js +1 -1
  40. package/gen/identityaccount.js.map +1 -1
  41. package/gen/identityprovider.d.ts +1 -0
  42. package/gen/identityprovider.d.ts.map +1 -1
  43. package/gen/identityprovider.js +1 -1
  44. package/gen/identityprovider.js.map +1 -1
  45. package/gen/invitation.d.ts +1 -0
  46. package/gen/invitation.d.ts.map +1 -1
  47. package/gen/invitation.js +1 -1
  48. package/gen/invitation.js.map +1 -1
  49. package/gen/mcpserver.d.ts +1 -0
  50. package/gen/mcpserver.d.ts.map +1 -1
  51. package/gen/mcpserver.js +1 -1
  52. package/gen/mcpserver.js.map +1 -1
  53. package/gen/oauthapp.d.ts +1 -0
  54. package/gen/oauthapp.d.ts.map +1 -1
  55. package/gen/oauthapp.js +1 -1
  56. package/gen/oauthapp.js.map +1 -1
  57. package/gen/organization.d.ts +1 -0
  58. package/gen/organization.d.ts.map +1 -1
  59. package/gen/organization.js +1 -1
  60. package/gen/organization.js.map +1 -1
  61. package/gen/platformclient.d.ts +1 -0
  62. package/gen/platformclient.d.ts.map +1 -1
  63. package/gen/platformclient.js +1 -1
  64. package/gen/platformclient.js.map +1 -1
  65. package/gen/project.d.ts +1 -0
  66. package/gen/project.d.ts.map +1 -1
  67. package/gen/project.js +1 -1
  68. package/gen/project.js.map +1 -1
  69. package/gen/session.d.ts +1 -0
  70. package/gen/session.d.ts.map +1 -1
  71. package/gen/session.js +1 -1
  72. package/gen/session.js.map +1 -1
  73. package/gen/skill.d.ts +1 -0
  74. package/gen/skill.d.ts.map +1 -1
  75. package/gen/skill.js +1 -1
  76. package/gen/skill.js.map +1 -1
  77. package/gen/workflow.d.ts +1 -0
  78. package/gen/workflow.d.ts.map +1 -1
  79. package/gen/workflow.js +1 -1
  80. package/gen/workflow.js.map +1 -1
  81. package/gen/workflowexecution.d.ts +1 -0
  82. package/gen/workflowexecution.d.ts.map +1 -1
  83. package/gen/workflowexecution.js +1 -1
  84. package/gen/workflowexecution.js.map +1 -1
  85. package/gen/workflowinstance.d.ts +1 -0
  86. package/gen/workflowinstance.d.ts.map +1 -1
  87. package/gen/workflowinstance.js +1 -1
  88. package/gen/workflowinstance.js.map +1 -1
  89. package/package.json +6 -2
  90. package/src/execution/tool-view.ts +26 -0
  91. package/src/gen/agent.ts +1 -1
  92. package/src/gen/agentexecution.ts +1 -1
  93. package/src/gen/agentinstance.ts +1 -1
  94. package/src/gen/apikey.ts +1 -1
  95. package/src/gen/artifact.ts +1 -1
  96. package/src/gen/environment.ts +1 -1
  97. package/src/gen/executioncontext.ts +1 -1
  98. package/src/gen/iampolicy.ts +1 -1
  99. package/src/gen/identityaccount.ts +1 -1
  100. package/src/gen/identityprovider.ts +1 -1
  101. package/src/gen/invitation.ts +1 -1
  102. package/src/gen/mcpserver.ts +1 -1
  103. package/src/gen/oauthapp.ts +1 -1
  104. package/src/gen/organization.ts +1 -1
  105. package/src/gen/platformclient.ts +1 -1
  106. package/src/gen/project.ts +1 -1
  107. package/src/gen/session.ts +1 -1
  108. package/src/gen/skill.ts +1 -1
  109. package/src/gen/workflow.ts +1 -1
  110. package/src/gen/workflowexecution.ts +1 -1
  111. package/src/gen/workflowinstance.ts +1 -1
  112. package/src/synth/__tests__/synth.test.ts +171 -0
  113. package/src/synth/context.ts +141 -0
  114. package/src/synth/index.ts +85 -0
  115. package/src/synth/writer.ts +100 -0
  116. package/src/synth.ts +8 -0
  117. package/synth/__tests__/synth.test.d.ts +2 -0
  118. package/synth/__tests__/synth.test.d.ts.map +1 -0
  119. package/synth/__tests__/synth.test.js +143 -0
  120. package/synth/__tests__/synth.test.js.map +1 -0
  121. package/synth/context.d.ts +73 -0
  122. package/synth/context.d.ts.map +1 -0
  123. package/synth/context.js +76 -0
  124. package/synth/context.js.map +1 -0
  125. package/synth/index.d.ts +35 -0
  126. package/synth/index.d.ts.map +1 -0
  127. package/synth/index.js +44 -0
  128. package/synth/index.js.map +1 -0
  129. package/synth/writer.d.ts +28 -0
  130. package/synth/writer.d.ts.map +1 -0
  131. package/synth/writer.js +86 -0
  132. package/synth/writer.js.map +1 -0
  133. package/synth.d.ts +2 -0
  134. package/synth.d.ts.map +1 -0
  135. package/synth.js +8 -0
  136. package/synth.js.map +1 -0
@@ -0,0 +1,35 @@
1
+ import { type SynthCounts } from "./writer";
2
+ import type { ProjectContext } from "./context";
3
+ export type { ProjectContext, Registration, SkillFromDirOptions, SkillFromGitInput, SkillHandle, } from "./context";
4
+ export type { SynthCounts, SynthFile } from "./writer";
5
+ export { serializeRegistrations } from "./writer";
6
+ /** Options for {@link ProjectApp.synth}. */
7
+ export interface SynthOptions {
8
+ /** Output directory; defaults to `process.env.STIGMER_OUT_DIR`. */
9
+ readonly outDir?: string;
10
+ /** Default org for resources that omit one; defaults to `STIGMER_ORG_ID`. */
11
+ readonly org?: string;
12
+ }
13
+ /** Outcome of a synthesis run. */
14
+ export interface SynthResult {
15
+ /** Directory the `.pb` files were written to. */
16
+ readonly outDir: string;
17
+ /** Names of the written `.pb` files, in registration order. */
18
+ readonly files: readonly string[];
19
+ /** Per-kind resource counts. */
20
+ readonly counts: SynthCounts;
21
+ }
22
+ /** A builder that registers resources on the given context (sync or async). */
23
+ export type ProjectBuilder = (ctx: ProjectContext) => void | Promise<void>;
24
+ /** A synthesizable project produced by {@link defineProject}. */
25
+ export interface ProjectApp {
26
+ /** Run the builder and write the `.pb` artifacts; resolves to a summary. */
27
+ synth(opts?: SynthOptions): Promise<SynthResult>;
28
+ }
29
+ /**
30
+ * Define a synthesizable project. The `build` callback is NOT run here — it runs
31
+ * lazily inside {@link ProjectApp.synth}, so importing the module has no side
32
+ * effects and the same app can be synthesized to different out dirs in tests.
33
+ */
34
+ export declare function defineProject(build: ProjectBuilder): ProjectApp;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/synth/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAsB,KAAK,WAAW,EAAsB,MAAM,UAAU,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAmB/D"}
package/synth/index.js ADDED
@@ -0,0 +1,44 @@
1
+ // `@stigmer/sdk/synth` — the project-synthesis authoring API (the "producer").
2
+ //
3
+ // A user's entry point describes resources functionally and synthesizes them to
4
+ // proto `.pb` files that `stigmer apply` consumes:
5
+ //
6
+ // import { defineProject } from "@stigmer/sdk/synth";
7
+ //
8
+ // const project = defineProject((ctx) => {
9
+ // ctx.skill.fromDir("./skills/calculator");
10
+ // ctx.agent({ name: "support-bot", org: "acme", instructions: "…" });
11
+ // });
12
+ //
13
+ // await project.synth();
14
+ //
15
+ // `synth()` is EXPLICIT (no import-time / beforeExit magic): the builder runs
16
+ // lazily inside it, honoring `@stigmer/sdk`'s `sideEffects: false` and staying
17
+ // trivially testable via `synth({ outDir })` (DD-009 §1). Node-only — it writes
18
+ // files — and exported from the dedicated `/synth` subpath (DD-009 §2).
19
+ import { RegistrationContext } from "./context";
20
+ import { countRegistrations, writeRegistrations } from "./writer";
21
+ export { serializeRegistrations } from "./writer";
22
+ /**
23
+ * Define a synthesizable project. The `build` callback is NOT run here — it runs
24
+ * lazily inside {@link ProjectApp.synth}, so importing the module has no side
25
+ * effects and the same app can be synthesized to different out dirs in tests.
26
+ */
27
+ export function defineProject(build) {
28
+ return {
29
+ async synth(opts) {
30
+ const outDir = opts?.outDir ?? process.env.STIGMER_OUT_DIR;
31
+ if (outDir === undefined || outDir === "") {
32
+ throw new Error("no synthesis output directory\n\n" +
33
+ "Run this project via `stigmer apply` (which sets STIGMER_OUT_DIR), " +
34
+ "or call project.synth({ outDir }) with an explicit directory.");
35
+ }
36
+ const ctx = new RegistrationContext(opts?.org ?? process.env.STIGMER_ORG_ID ?? "");
37
+ await build(ctx);
38
+ const registrations = ctx.collect();
39
+ const files = writeRegistrations(outDir, registrations);
40
+ return { outDir, files, counts: countRegistrations(registrations) };
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/synth/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,mDAAmD;AACnD,EAAE;AACF,wDAAwD;AACxD,EAAE;AACF,6CAA6C;AAC7C,gDAAgD;AAChD,0EAA0E;AAC1E,QAAQ;AACR,EAAE;AACF,2BAA2B;AAC3B,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAoB,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAWpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA6BlD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAqB;IACjD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAmB;YAC7B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC3D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,mCAAmC;oBACjC,qEAAqE;oBACrE,+DAA+D,CAClE,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACxD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Registration } from "./context";
2
+ /** One serialized synthesis artifact: its file name and binary proto bytes. */
3
+ export interface SynthFile {
4
+ readonly name: string;
5
+ readonly bytes: Uint8Array;
6
+ }
7
+ /** Per-kind counts of synthesized resources. */
8
+ export interface SynthCounts {
9
+ readonly agents: number;
10
+ readonly workflows: number;
11
+ readonly mcpServers: number;
12
+ readonly skills: number;
13
+ }
14
+ /**
15
+ * Serialize registrations into named `.pb` artifacts, in registration order,
16
+ * with a per-kind zero-based index. Pure (no filesystem) so it is trivially
17
+ * unit-testable and reusable by callers that want the bytes without writing.
18
+ */
19
+ export declare function serializeRegistrations(registrations: readonly Registration[]): SynthFile[];
20
+ /** Tally registrations by kind (for the synth result summary). */
21
+ export declare function countRegistrations(registrations: readonly Registration[]): SynthCounts;
22
+ /**
23
+ * Serialize and write all registrations into `outDir`, returning the written
24
+ * file names. The directory is created if absent (idempotent) — synthesis owns
25
+ * its output target, like CDK's `app.synth()` creating `cdk.out`.
26
+ */
27
+ export declare function writeRegistrations(outDir: string, registrations: readonly Registration[]): string[];
28
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/synth/writer.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,EAAE,CA0B1F;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,WAAW,CAYtF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAOnG"}
@@ -0,0 +1,86 @@
1
+ // Writer — turns ordered {@link Registration}s into the proto `.pb` files the
2
+ // CLI's synthesis reader consumes.
3
+ //
4
+ // Each kind gets its own zero-based counter, producing `agent-N.pb`,
5
+ // `workflow-N.pb`, `mcpserver-N.pb`, and `skill-N.pb`. These names and the
6
+ // binary encoding are the SDK↔CLI handoff contract: they must match the reader's
7
+ // glob/sort (`<kind>-*.pb`, lexically sorted) on both the Go and TS consumers
8
+ // (reader.go / reader.ts). Resources are serialized via protobuf-es `toBinary`
9
+ // (DD-009 §3); the full proto is built by reusing the generated, package-private
10
+ // `build<Kind>Proto` helpers (DD-009 §4) so synthesis and the imperative SDK
11
+ // share one field mapping. Skills are already `SkillSynth` messages and are
12
+ // encoded directly.
13
+ import { mkdirSync, writeFileSync } from "node:fs";
14
+ import { join } from "node:path";
15
+ import { toBinary } from "@bufbuild/protobuf";
16
+ import { AgentSchema } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
17
+ import { McpServerSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
18
+ import { SkillSynthSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/synth_pb";
19
+ import { WorkflowSchema } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/api_pb";
20
+ import { buildAgentProto } from "../gen/agent";
21
+ import { buildMcpServerProto } from "../gen/mcpserver";
22
+ import { buildWorkflowProto } from "../gen/workflow";
23
+ /**
24
+ * Serialize registrations into named `.pb` artifacts, in registration order,
25
+ * with a per-kind zero-based index. Pure (no filesystem) so it is trivially
26
+ * unit-testable and reusable by callers that want the bytes without writing.
27
+ */
28
+ export function serializeRegistrations(registrations) {
29
+ const next = { agent: 0, workflow: 0, mcpServer: 0, skill: 0 };
30
+ const files = [];
31
+ for (const reg of registrations) {
32
+ switch (reg.kind) {
33
+ case "agent":
34
+ files.push({ name: `agent-${next.agent++}.pb`, bytes: toBinary(AgentSchema, buildAgentProto(reg.input)) });
35
+ break;
36
+ case "workflow":
37
+ files.push({
38
+ name: `workflow-${next.workflow++}.pb`,
39
+ bytes: toBinary(WorkflowSchema, buildWorkflowProto(reg.input)),
40
+ });
41
+ break;
42
+ case "mcpServer":
43
+ files.push({
44
+ name: `mcpserver-${next.mcpServer++}.pb`,
45
+ bytes: toBinary(McpServerSchema, buildMcpServerProto(reg.input)),
46
+ });
47
+ break;
48
+ case "skill":
49
+ files.push({ name: `skill-${next.skill++}.pb`, bytes: toBinary(SkillSynthSchema, reg.synth) });
50
+ break;
51
+ }
52
+ }
53
+ return files;
54
+ }
55
+ /** Tally registrations by kind (for the synth result summary). */
56
+ export function countRegistrations(registrations) {
57
+ let agents = 0;
58
+ let workflows = 0;
59
+ let mcpServers = 0;
60
+ let skills = 0;
61
+ for (const reg of registrations) {
62
+ if (reg.kind === "agent")
63
+ agents++;
64
+ else if (reg.kind === "workflow")
65
+ workflows++;
66
+ else if (reg.kind === "mcpServer")
67
+ mcpServers++;
68
+ else
69
+ skills++;
70
+ }
71
+ return { agents, workflows, mcpServers, skills };
72
+ }
73
+ /**
74
+ * Serialize and write all registrations into `outDir`, returning the written
75
+ * file names. The directory is created if absent (idempotent) — synthesis owns
76
+ * its output target, like CDK's `app.synth()` creating `cdk.out`.
77
+ */
78
+ export function writeRegistrations(outDir, registrations) {
79
+ const files = serializeRegistrations(registrations);
80
+ mkdirSync(outDir, { recursive: true });
81
+ for (const file of files) {
82
+ writeFileSync(join(outDir, file.name), file.bytes);
83
+ }
84
+ return files.map((file) => file.name);
85
+ }
86
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/synth/writer.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mCAAmC;AACnC,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,oBAAoB;AAEpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAiBrD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAAsC;IAC3E,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3G,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,KAAK;oBACtC,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC/D,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW;gBACd,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,KAAK;oBACxC,KAAK,EAAE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/F,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,aAAsC;IACvE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,EAAE,CAAC;aAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS,EAAE,CAAC;aACzC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,UAAU,EAAE,CAAC;;YAC3C,MAAM,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,aAAsC;IACvF,MAAM,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
package/synth.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./synth/index.js";
2
+ //# sourceMappingURL=synth.d.ts.map
package/synth.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synth.d.ts","sourceRoot":"","sources":["../src/synth.ts"],"names":[],"mappings":"AAOA,cAAc,kBAAkB,CAAC"}
package/synth.js ADDED
@@ -0,0 +1,8 @@
1
+ // Node-only entry point for the project-synthesis authoring API.
2
+ //
3
+ // Re-exports `@stigmer/sdk/synth` (see ./synth/index.ts). Kept as a thin
4
+ // top-level module so the package `exports` map can expose `"./synth"` the same
5
+ // way `"./node"` maps to ./node.ts — a capability subpath, not a client noun
6
+ // (DD-009 §2).
7
+ export * from "./synth/index.js";
8
+ //# sourceMappingURL=synth.js.map
package/synth.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synth.js","sourceRoot":"","sources":["../src/synth.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,6EAA6E;AAC7E,eAAe;AAEf,cAAc,kBAAkB,CAAC"}