@stigmer/sdk 3.12.2 → 3.12.4

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 (62) hide show
  1. package/__tests__/billing.test.js +36 -0
  2. package/__tests__/billing.test.js.map +1 -1
  3. package/__tests__/skill.test.d.ts +2 -0
  4. package/__tests__/skill.test.d.ts.map +1 -0
  5. package/__tests__/skill.test.js +117 -0
  6. package/__tests__/skill.test.js.map +1 -0
  7. package/billing.d.ts +27 -0
  8. package/billing.d.ts.map +1 -1
  9. package/billing.js +26 -1
  10. package/billing.js.map +1 -1
  11. package/errors.d.ts +1 -1
  12. package/errors.d.ts.map +1 -1
  13. package/errors.js +1 -1
  14. package/errors.js.map +1 -1
  15. package/execution/__tests__/tool-view.fixtures.test.js +23 -4
  16. package/execution/__tests__/tool-view.fixtures.test.js.map +1 -1
  17. package/execution/tool-view.d.ts +32 -0
  18. package/execution/tool-view.d.ts.map +1 -1
  19. package/execution/tool-view.js +45 -0
  20. package/execution/tool-view.js.map +1 -1
  21. package/gen/client.d.ts +1 -1
  22. package/gen/client.d.ts.map +1 -1
  23. package/gen/client.js +1 -1
  24. package/gen/client.js.map +1 -1
  25. package/gen/errors.d.ts +7 -0
  26. package/gen/errors.d.ts.map +1 -1
  27. package/gen/errors.js +9 -0
  28. package/gen/errors.js.map +1 -1
  29. package/gen/skill.d.ts +3 -1
  30. package/gen/skill.d.ts.map +1 -1
  31. package/gen/skill.js +16 -0
  32. package/gen/skill.js.map +1 -1
  33. package/index.d.ts +4 -2
  34. package/index.d.ts.map +1 -1
  35. package/index.js +5 -2
  36. package/index.js.map +1 -1
  37. package/package.json +2 -2
  38. package/provider-standing.d.ts +19 -0
  39. package/provider-standing.d.ts.map +1 -0
  40. package/provider-standing.js +31 -0
  41. package/provider-standing.js.map +1 -0
  42. package/skill.d.ts +51 -0
  43. package/skill.d.ts.map +1 -0
  44. package/skill.js +102 -0
  45. package/skill.js.map +1 -0
  46. package/src/__tests__/billing.test.ts +44 -0
  47. package/src/__tests__/skill.test.ts +150 -0
  48. package/src/billing.ts +44 -0
  49. package/src/errors.ts +1 -0
  50. package/src/execution/__tests__/tool-view.fixtures.test.ts +41 -4
  51. package/src/execution/tool-view.ts +52 -0
  52. package/src/gen/client.ts +1 -1
  53. package/src/gen/errors.ts +10 -0
  54. package/src/gen/skill.ts +13 -1
  55. package/src/index.ts +8 -0
  56. package/src/provider-standing.ts +37 -0
  57. package/src/skill.ts +125 -0
  58. package/src/stigmer.ts +12 -0
  59. package/stigmer.d.ts +10 -0
  60. package/stigmer.d.ts.map +1 -1
  61. package/stigmer.js +12 -0
  62. package/stigmer.js.map +1 -1
@@ -20,6 +20,10 @@ function fakeTransport(captured) {
20
20
  captured.adjustCredits = req;
21
21
  return create(CreditLedgerEntrySchema, { amountMicros: req.amountMicros });
22
22
  },
23
+ grantCredits: (req) => {
24
+ captured.grantCredits = req;
25
+ return create(CreditLedgerEntrySchema, { amountMicros: req.amountMicros });
26
+ },
23
27
  });
24
28
  service(BillingQueryController, {
25
29
  getCreditLedger: (req) => {
@@ -46,6 +50,38 @@ describe("BillingClient.adjustCredits", () => {
46
50
  expect(captured.adjustCredits?.idempotencyKey).toBe("fund-acme-001");
47
51
  });
48
52
  });
53
+ describe("BillingClient.grantCredits", () => {
54
+ it("maps params including the expiry onto GrantCreditsInput", async () => {
55
+ const captured = {};
56
+ const client = new BillingClient(fakeTransport(captured));
57
+ const expiresAt = new Date("2026-08-31T23:59:59Z");
58
+ const entry = await client.grantCredits({
59
+ orgId: "acme",
60
+ amountMicros: 5000000n,
61
+ expiresAt,
62
+ reason: "monthly free allowance 2026-08",
63
+ idempotencyKey: "allowance-acme-2026-08",
64
+ });
65
+ expect(entry.amountMicros).toBe(5000000n);
66
+ const req = captured.grantCredits;
67
+ expect(req?.orgId).toBe("acme");
68
+ expect(req?.amountMicros).toBe(5000000n);
69
+ expect(req?.expiresAt && timestampDate(req.expiresAt)).toEqual(expiresAt);
70
+ expect(req?.reason).toBe("monthly free allowance 2026-08");
71
+ expect(req?.idempotencyKey).toBe("allowance-acme-2026-08");
72
+ });
73
+ it("omits the expiry for a never-expiring grant", async () => {
74
+ const captured = {};
75
+ const client = new BillingClient(fakeTransport(captured));
76
+ await client.grantCredits({
77
+ orgId: "acme",
78
+ amountMicros: 1000000n,
79
+ reason: "welcome credit",
80
+ idempotencyKey: "welcome-acme",
81
+ });
82
+ expect(captured.grantCredits?.expiresAt).toBeUndefined();
83
+ });
84
+ });
49
85
  describe("BillingClient.getCreditLedger", () => {
50
86
  it("maps all filters including the time range", async () => {
51
87
  const captured = {};
@@ -1 +1 @@
1
- {"version":3,"file":"billing.test.js","sourceRoot":"","sources":["../../src/__tests__/billing.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.test.js","sourceRoot":"","sources":["../../src/__tests__/billing.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skill.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/skill.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ // Wire-shape tests for RoutedSkillClient's size-routed push (stigmer#701).
2
+ // A router transport fakes the skill service in-process, so the routing is
3
+ // exercised through the REAL generated client and its error wrapping — the
4
+ // CLI's earlier copy of this logic keyed its fallback on `instanceof
5
+ // ConnectError`, which the SDK's wrapError made unreachable; these pins run
6
+ // the wrapped path. Mirrors sdk/go/skill_test.go's five routing pins.
7
+ import { describe, expect, it, vi } from "vitest";
8
+ import { Code, ConnectError, createRouterTransport } from "@connectrpc/connect";
9
+ import { create } from "@bufbuild/protobuf";
10
+ import { SkillCommandController } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/command_pb";
11
+ import { SkillSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/api_pb";
12
+ import { PushSkillRequestSchema, SkillArtifactUploadUrlSchema, } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
13
+ import { StigmerError } from "../gen/errors.js";
14
+ import { MAX_INLINE_ARTIFACT_BYTES, RoutedSkillClient } from "../skill.js";
15
+ const STAGING_URL = "http://stage.example/v1/skill-artifacts/uploads/sau_t";
16
+ /**
17
+ * In-process skill service. `withMint: false` leaves createArtifactUploadUrl
18
+ * unregistered, so the router answers Unimplemented — the exact wire shape
19
+ * of a pre-transfer-lane server.
20
+ */
21
+ function fakeTransport(captured, opts = { withMint: true }) {
22
+ return createRouterTransport(({ service }) => {
23
+ service(SkillCommandController, {
24
+ push: (req) => {
25
+ captured.pushes.push(req);
26
+ return create(SkillSchema, {});
27
+ },
28
+ ...(opts.withMint
29
+ ? {
30
+ createArtifactUploadUrl: (req) => {
31
+ captured.mints++;
32
+ expect(req.sizeBytes).toBeGreaterThan(0n);
33
+ return create(SkillArtifactUploadUrlSchema, {
34
+ url: STAGING_URL,
35
+ artifactUploadRef: "sau_t",
36
+ ttlSeconds: 900,
37
+ });
38
+ },
39
+ }
40
+ : {}),
41
+ });
42
+ });
43
+ }
44
+ function okFetch(record) {
45
+ return vi.fn(async (url, init) => {
46
+ record.putUrl = String(url);
47
+ record.putBytes = init.body instanceof Uint8Array ? init.body.byteLength : -1;
48
+ record.contentType = init.headers["content-type"];
49
+ return new Response(null, { status: 200 });
50
+ });
51
+ }
52
+ describe("RoutedSkillClient.push size routing", () => {
53
+ it("keeps small artifacts inline — no mint, bytes in the request", async () => {
54
+ const captured = { pushes: [], mints: 0 };
55
+ const client = new RoutedSkillClient(fakeTransport(captured));
56
+ await client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(1024) }));
57
+ expect(captured.mints).toBe(0);
58
+ expect(captured.pushes).toHaveLength(1);
59
+ expect(captured.pushes[0].artifact.length).toBe(1024);
60
+ });
61
+ it("stages large artifacts over HTTP and pushes by reference, preserving the envelope", async () => {
62
+ const captured = { pushes: [], mints: 0 };
63
+ const record = {};
64
+ const client = new RoutedSkillClient(fakeTransport(captured), okFetch(record));
65
+ const artifact = new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1);
66
+ await client.push(create(PushSkillRequestSchema, { org: "acme", artifact, tag: "stable", message: "big" }));
67
+ expect(captured.mints).toBe(1);
68
+ expect(record.putUrl).toBe(STAGING_URL);
69
+ expect(record.putBytes).toBe(artifact.length);
70
+ expect(record.contentType).toBe("application/zip");
71
+ expect(captured.pushes).toHaveLength(1);
72
+ expect(captured.pushes[0].artifact.length).toBe(0);
73
+ expect(captured.pushes[0].artifactUploadRef).toBe("sau_t");
74
+ // The by-ref rewrite must not lose the rest of the request.
75
+ expect(captured.pushes[0].tag).toBe("stable");
76
+ expect(captured.pushes[0].message).toBe("big");
77
+ });
78
+ it("passes an explicit upload ref through untouched — the caller staged it", async () => {
79
+ const captured = { pushes: [], mints: 0 };
80
+ const client = new RoutedSkillClient(fakeTransport(captured));
81
+ await client.push(create(PushSkillRequestSchema, { org: "acme", artifactUploadRef: "sau_mine" }));
82
+ expect(captured.mints).toBe(0);
83
+ expect(captured.pushes).toHaveLength(1);
84
+ expect(captured.pushes[0].artifactUploadRef).toBe("sau_mine");
85
+ });
86
+ it("fails loud against servers that predate the transfer lane (wrapped Unimplemented)", async () => {
87
+ const captured = { pushes: [], mints: 0 };
88
+ const client = new RoutedSkillClient(fakeTransport(captured, { withMint: false }));
89
+ await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toThrow(/upgrade stigmer-server/);
90
+ expect(captured.pushes).toHaveLength(0);
91
+ });
92
+ it("surfaces the staging rejection body and never proceeds to push", async () => {
93
+ const captured = { pushes: [], mints: 0 };
94
+ const rejectingFetch = (async () => new Response("staging slot expired", { status: 404 }));
95
+ const client = new RoutedSkillClient(fakeTransport(captured), rejectingFetch);
96
+ await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toThrow(/HTTP 404: staging slot expired/);
97
+ expect(captured.pushes).toHaveLength(0);
98
+ });
99
+ it("propagates non-Unimplemented mint errors unmasked", async () => {
100
+ const captured = { pushes: [], mints: 0 };
101
+ const transport = createRouterTransport(({ service }) => {
102
+ service(SkillCommandController, {
103
+ push: (req) => {
104
+ captured.pushes.push(req);
105
+ return create(SkillSchema, {});
106
+ },
107
+ createArtifactUploadUrl: () => {
108
+ throw new ConnectError("artifact too large", Code.InvalidArgument);
109
+ },
110
+ });
111
+ });
112
+ const client = new RoutedSkillClient(transport);
113
+ await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toSatisfy((err) => err instanceof StigmerError && err.code === "invalid-argument");
114
+ expect(captured.pushes).toHaveLength(0);
115
+ });
116
+ });
117
+ //# sourceMappingURL=skill.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.test.js","sourceRoot":"","sources":["../../src/__tests__/skill.test.ts"],"names":[],"mappings":"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"}
package/billing.d.ts CHANGED
@@ -35,6 +35,21 @@ export interface AdjustCreditsParams {
35
35
  /** Client-supplied deduplication key to prevent double-processing. */
36
36
  readonly idempotencyKey: string;
37
37
  }
38
+ /** Parameters for a promotional credit grant. */
39
+ export interface GrantCreditsParams {
40
+ readonly orgId: string;
41
+ /** Amount to grant. Must be positive; grants never remove credits. */
42
+ readonly amountMicros: bigint;
43
+ /**
44
+ * When the grant expires (use-it-or-lose-it). Omit for a grant that never
45
+ * expires. Precision is whole seconds; sub-second precision is discarded.
46
+ */
47
+ readonly expiresAt?: Date;
48
+ /** Human-readable reason recorded on the ledger entry (audit trail). */
49
+ readonly reason: string;
50
+ /** Client-supplied deduplication key to prevent double-processing. */
51
+ readonly idempotencyKey: string;
52
+ }
38
53
  /** Parameters for querying the credit ledger. */
39
54
  export interface GetCreditLedgerParams {
40
55
  readonly orgId: string;
@@ -138,6 +153,18 @@ export declare class BillingClient {
138
153
  * Requires `can_manage_billing` on the org.
139
154
  */
140
155
  adjustCredits(params: AdjustCreditsParams): Promise<CreditLedgerEntry>;
156
+ /**
157
+ * Grant promotional credits to an organization, optionally expiring
158
+ * (use-it-or-lose-it).
159
+ *
160
+ * The grant burns before adjustment and purchased credits. When
161
+ * `expiresAt` is set, any remainder unconsumed at that time is removed
162
+ * from the balance by the platform's grant-expiry sweep. Idempotent:
163
+ * replaying an applied idempotency key returns the original ledger entry,
164
+ * even after the expiry has passed. Requires `can_manage_billing` on
165
+ * the org.
166
+ */
167
+ grantCredits(params: GrantCreditsParams): Promise<CreditLedgerEntry>;
141
168
  /** Retrieve paginated credit ledger entries with optional filters. */
142
169
  getCreditLedger(params: GetCreditLedgerParams): Promise<CreditLedgerResponse>;
143
170
  /**
package/billing.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
package/billing.js CHANGED
@@ -2,7 +2,7 @@ import { createClient } from "@connectrpc/connect";
2
2
  import { create } from "@bufbuild/protobuf";
3
3
  import { BillingCommandController } from "@stigmer/protos/ai/stigmer/billing/v1/command_pb";
4
4
  import { BillingQueryController } from "@stigmer/protos/ai/stigmer/billing/v1/query_pb";
5
- import { GetOrCreateBillingAccountInputSchema, GetBillingAccountInputSchema, GetCreditBalanceInputSchema, AdjustCreditsInputSchema, GetCreditLedgerInputSchema, CreateCreditCheckoutSessionInputSchema, CreateBillingPortalSessionInputSchema, SetAutoRechargeConfigInputSchema, GetBillingUsageReportInputSchema, GetCustomerModelPricingInputSchema, GetModelPricingGovernanceInputSchema, DecideModelPricingOverrideInputSchema, UpsertModelPricingBaselineInputSchema, RetireModelPricingBaselineInputSchema, ListModelPricingBaselinesInputSchema, } from "@stigmer/protos/ai/stigmer/billing/v1/io_pb";
5
+ import { GetOrCreateBillingAccountInputSchema, GetBillingAccountInputSchema, GetCreditBalanceInputSchema, AdjustCreditsInputSchema, GrantCreditsInputSchema, GetCreditLedgerInputSchema, CreateCreditCheckoutSessionInputSchema, CreateBillingPortalSessionInputSchema, SetAutoRechargeConfigInputSchema, GetBillingUsageReportInputSchema, GetCustomerModelPricingInputSchema, GetModelPricingGovernanceInputSchema, DecideModelPricingOverrideInputSchema, UpsertModelPricingBaselineInputSchema, RetireModelPricingBaselineInputSchema, ListModelPricingBaselinesInputSchema, } from "@stigmer/protos/ai/stigmer/billing/v1/io_pb";
6
6
  import { PageInfoSchema } from "@stigmer/protos/ai/stigmer/commons/rpc/pagination_pb";
7
7
  import { timestampFromDate } from "@bufbuild/protobuf/wkt";
8
8
  import { wrapError } from "./gen/errors.js";
@@ -75,6 +75,31 @@ export class BillingClient {
75
75
  throw wrapError(e);
76
76
  }
77
77
  }
78
+ /**
79
+ * Grant promotional credits to an organization, optionally expiring
80
+ * (use-it-or-lose-it).
81
+ *
82
+ * The grant burns before adjustment and purchased credits. When
83
+ * `expiresAt` is set, any remainder unconsumed at that time is removed
84
+ * from the balance by the platform's grant-expiry sweep. Idempotent:
85
+ * replaying an applied idempotency key returns the original ledger entry,
86
+ * even after the expiry has passed. Requires `can_manage_billing` on
87
+ * the org.
88
+ */
89
+ async grantCredits(params) {
90
+ try {
91
+ return await this.command.grantCredits(create(GrantCreditsInputSchema, {
92
+ orgId: params.orgId,
93
+ amountMicros: params.amountMicros,
94
+ reason: params.reason,
95
+ idempotencyKey: params.idempotencyKey,
96
+ ...(params.expiresAt && { expiresAt: timestampFromDate(params.expiresAt) }),
97
+ }));
98
+ }
99
+ catch (e) {
100
+ throw wrapError(e);
101
+ }
102
+ }
78
103
  /** Retrieve paginated credit ledger entries with optional filters. */
79
104
  async getCreditLedger(params) {
80
105
  try {
package/billing.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
package/errors.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ConnectError } from "@connectrpc/connect";
2
- export { StigmerError, type ErrorCode, wrapError, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, } from "./gen/errors.js";
2
+ export { StigmerError, type ErrorCode, wrapError, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, isUnimplemented, } from "./gen/errors.js";
3
3
  /**
4
4
  * Coarse-grained error categories derived from gRPC/Connect status codes.
5
5
  * Each category maps to a distinct UX treatment:
package/errors.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,WAAW,GACX,SAAS,CAAC;AAmCd;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAQ3D;AAOD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D;AAiED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AA0CD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAejE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAK3E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,WAAW,GACX,SAAS,CAAC;AAmCd;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAQ3D;AAOD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D;AAiED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AA0CD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAejE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAK3E"}
package/errors.js CHANGED
@@ -2,7 +2,7 @@ import { ConnectError, Code } from "@connectrpc/connect";
2
2
  import { ErrorInfoSchema } from "@stigmer/protos/google/rpc/error_details_pb";
3
3
  import { StigmerError } from "./gen/errors.js";
4
4
  // Re-export generated error types
5
- export { StigmerError, wrapError, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, } from "./gen/errors.js";
5
+ export { StigmerError, wrapError, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, isUnimplemented, } from "./gen/errors.js";
6
6
  const CONNECT_CODE_TO_CATEGORY = {
7
7
  [Code.Unauthenticated]: "auth",
8
8
  [Code.PermissionDenied]: "permission",
package/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- // Validates the tool-view layer against the shared cross-language contract in
2
- // test/fixtures/tool-view/. The Go CLI runs the same fixtures, so the two
3
- // surfaces cannot drift in classification or result interpretation.
1
+ // Validates the tool-view layer against the shared cross-surface contract in
2
+ // test/fixtures/tool-view/. The runner's middleware tests assert the same
3
+ // fixtures from the writer side, so producers and this reader cannot drift in
4
+ // classification, result interpretation, or intent extraction.
4
5
  import { readFileSync } from "node:fs";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import { dirname, resolve } from "node:path";
@@ -8,7 +9,7 @@ import { describe, it, expect } from "vitest";
8
9
  import { create } from "@bufbuild/protobuf";
9
10
  import { ToolCallSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
10
11
  import { ToolCallStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
11
- import { ToolKind, resolveToolKindByName, normalizeToolResult } from "../tool-view";
12
+ import { ToolKind, resolveToolKindByName, normalizeToolResult, extractShellIntent, SHELL_INTENT_ARG_FIELD, } from "../tool-view";
12
13
  const here = dirname(fileURLToPath(import.meta.url));
13
14
  // sdk/typescript/src/execution/__tests__ -> repo root is five levels up.
14
15
  const fixtureDir = resolve(here, "../../../../../test/fixtures/tool-view");
@@ -79,6 +80,24 @@ describe("result-view fixtures", () => {
79
80
  });
80
81
  }
81
82
  });
83
+ describe("intent-title fixtures", () => {
84
+ const fixture = loadFixture("intent-title.json");
85
+ it("loads the fixture and agrees on the wire key", () => {
86
+ expect(fixture.cases.length).toBeGreaterThan(0);
87
+ expect(SHELL_INTENT_ARG_FIELD).toBe(fixture.argField);
88
+ });
89
+ for (const c of fixture.cases) {
90
+ it(`extracts ${c.name}${c.mcpServerSlug ? ` @${c.mcpServerSlug}` : ""} -> ${JSON.stringify(c.intent)}`, () => {
91
+ const toolCall = create(ToolCallSchema, {
92
+ id: c.name,
93
+ name: c.name,
94
+ mcpServerSlug: c.mcpServerSlug,
95
+ args: c.args,
96
+ });
97
+ expect(extractShellIntent(toolCall)).toBe(c.intent);
98
+ });
99
+ }
100
+ });
82
101
  describe("resolveToolKind wire field precedence", () => {
83
102
  it("prefers the wire tool_kind over the name fallback", () => {
84
103
  const toolCall = create(ToolCallSchema, {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-view.fixtures.test.js","sourceRoot":"","sources":["../../../src/execution/__tests__/tool-view.fixtures.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-view.fixtures.test.js","sourceRoot":"","sources":["../../../src/execution/__tests__/tool-view.fixtures.test.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,38 @@ export type ToolResultView = {
91
91
  export declare function resolveToolKind(toolCall: Pick<ToolCall, "name" | "mcpServerSlug" | "toolKind">): ToolKind;
92
92
  /** Name-based classification used as the legacy fallback for resolveToolKind. */
93
93
  export declare function resolveToolKindByName(name: string, mcpServerSlug?: string): ToolKind;
94
+ /**
95
+ * The tool-call argument that carries a model-authored intent phrase for
96
+ * SHELL tools (stigmer#276) — a short human description of what the command
97
+ * does and why, rendered as the row title with the command as secondary text.
98
+ *
99
+ * Two writers populate it, converged on one wire key by design: the native
100
+ * harness's tool-intent middleware (`backend/services/runner/src/middleware/
101
+ * tool-intent.ts`, `INTENT_ARG`) extends the shell tool's bind-time schema
102
+ * with it, and the Cursor harness's built-in Shell tool carries it natively.
103
+ * The shared, machine-checked contract is
104
+ * `test/fixtures/tool-view/intent-title.json` — keep the writers and this
105
+ * reader in lockstep.
106
+ */
107
+ export declare const SHELL_INTENT_ARG_FIELD = "description";
108
+ /**
109
+ * Args-level intent extraction: SHELL-kind-scoped on purpose, because
110
+ * `description` means other things on other tools (a task tool's description
111
+ * is the sub-agent subject, never a row title). Blank and non-string values
112
+ * degrade to null — callers fall back to their category label.
113
+ *
114
+ * The seam for surfaces that hold a pre-resolved kind and raw args instead of
115
+ * a full ToolCall: the CLI's headless snapshot projection and @stigmer/react's
116
+ * approval argsPreview path. Everything else should prefer
117
+ * {@link extractShellIntent}.
118
+ */
119
+ export declare function shellIntentFromArgs(kind: ToolKind, args: Record<string, unknown> | undefined): string | null;
120
+ /**
121
+ * Extracts the model-authored intent phrase from a SHELL tool call, or null
122
+ * when absent (legacy executions, models that skipped the optional arg, and
123
+ * every non-shell kind). See {@link SHELL_INTENT_ARG_FIELD}.
124
+ */
125
+ export declare function extractShellIntent(toolCall: Pick<ToolCall, "name" | "mcpServerSlug" | "toolKind" | "args">): string | null;
94
126
  /**
95
127
  * Normalizes a tool call into a typed ToolResultView for rendering.
96
128
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tool-view.d.ts","sourceRoot":"","sources":["../../src/execution/tool-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-view.d.ts","sourceRoot":"","sources":["../../src/execution/tool-view.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,51 @@ export function resolveToolKindByName(name, mcpServerSlug) {
101
101
  }
102
102
  return ToolKind.UNSPECIFIED;
103
103
  }
104
+ // ---------------------------------------------------------------------------
105
+ // Intent: extractShellIntent
106
+ // ---------------------------------------------------------------------------
107
+ /**
108
+ * The tool-call argument that carries a model-authored intent phrase for
109
+ * SHELL tools (stigmer#276) — a short human description of what the command
110
+ * does and why, rendered as the row title with the command as secondary text.
111
+ *
112
+ * Two writers populate it, converged on one wire key by design: the native
113
+ * harness's tool-intent middleware (`backend/services/runner/src/middleware/
114
+ * tool-intent.ts`, `INTENT_ARG`) extends the shell tool's bind-time schema
115
+ * with it, and the Cursor harness's built-in Shell tool carries it natively.
116
+ * The shared, machine-checked contract is
117
+ * `test/fixtures/tool-view/intent-title.json` — keep the writers and this
118
+ * reader in lockstep.
119
+ */
120
+ export const SHELL_INTENT_ARG_FIELD = "description";
121
+ /**
122
+ * Args-level intent extraction: SHELL-kind-scoped on purpose, because
123
+ * `description` means other things on other tools (a task tool's description
124
+ * is the sub-agent subject, never a row title). Blank and non-string values
125
+ * degrade to null — callers fall back to their category label.
126
+ *
127
+ * The seam for surfaces that hold a pre-resolved kind and raw args instead of
128
+ * a full ToolCall: the CLI's headless snapshot projection and @stigmer/react's
129
+ * approval argsPreview path. Everything else should prefer
130
+ * {@link extractShellIntent}.
131
+ */
132
+ export function shellIntentFromArgs(kind, args) {
133
+ if (kind !== ToolKind.SHELL || !args)
134
+ return null;
135
+ const value = args[SHELL_INTENT_ARG_FIELD];
136
+ if (typeof value !== "string")
137
+ return null;
138
+ const trimmed = value.trim();
139
+ return trimmed.length > 0 ? trimmed : null;
140
+ }
141
+ /**
142
+ * Extracts the model-authored intent phrase from a SHELL tool call, or null
143
+ * when absent (legacy executions, models that skipped the optional arg, and
144
+ * every non-shell kind). See {@link SHELL_INTENT_ARG_FIELD}.
145
+ */
146
+ export function extractShellIntent(toolCall) {
147
+ return shellIntentFromArgs(resolveToolKind(toolCall), toolCall.args);
148
+ }
104
149
  const PATH_FIELDS = ["path", "file_path", "file", "filename"];
105
150
  const OLD_TEXT_FIELDS = ["old_string", "old_text", "oldText"];
106
151
  const NEW_TEXT_FIELDS = ["new_string", "new_text", "newText", "replacement"];