@harnessforce/semconv 0.2.0 → 0.3.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.
package/README.md CHANGED
@@ -43,7 +43,6 @@ Each schema is a plain JSON Schema object (built with TypeBox) with a static Typ
43
43
  | `config-snapshot` | `ConfigSnapshotSchema` | `ConfigSnapshot` |
44
44
  | `analysis-report` | `AnalysisReportSchema` | `AnalysisReport` |
45
45
  | `session-usage-summary` | `SessionUsageSummarySchema` | `SessionUsageSummary` |
46
- | `ingest-issue` | `IngestIssueSchema` | `IngestIssue` |
47
46
  | `ingest-event` | `IngestEventSchema` | `IngestEvent` |
48
47
 
49
48
  Compile them with the JSON Schema validator of your choice. The schemas use the `date-time`, `date`
@@ -2,11 +2,8 @@ export declare const ATTR: {
2
2
  readonly workspaceId: "hf.workspace.id";
3
3
  readonly projectId: "hf.project.id";
4
4
  readonly projectKey: "hf.project.key";
5
- readonly milestoneId: "hf.milestone.id";
6
5
  readonly issueId: "hf.issue.id";
7
6
  readonly issueIdentifier: "hf.issue.identifier";
8
- readonly planId: "hf.plan.id";
9
- readonly planVersion: "hf.plan.version";
10
7
  readonly agentConfigVersion: "hf.agent.config_version";
11
8
  readonly executionMode: "hf.execution.mode";
12
9
  readonly executionActorType: "hf.execution.actor_type";
@@ -2,11 +2,8 @@ export const ATTR = {
2
2
  workspaceId: "hf.workspace.id",
3
3
  projectId: "hf.project.id",
4
4
  projectKey: "hf.project.key",
5
- milestoneId: "hf.milestone.id",
6
5
  issueId: "hf.issue.id",
7
6
  issueIdentifier: "hf.issue.identifier",
8
- planId: "hf.plan.id",
9
- planVersion: "hf.plan.version",
10
7
  agentConfigVersion: "hf.agent.config_version",
11
8
  executionMode: "hf.execution.mode",
12
9
  executionActorType: "hf.execution.actor_type",
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,eAAe,EAAE,qBAAqB;IACtC,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,iBAAiB;IAC9B,kBAAkB,EAAE,yBAAyB;IAC7C,aAAa,EAAE,mBAAmB;IAClC,kBAAkB,EAAE,yBAAyB;IAC7C,gBAAgB,EAAE,uBAAuB;IACzC,aAAa,EAAE,mBAAmB;IAClC,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,gBAAgB;CACnB,CAAC;AAIX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,MAAM;IACN,OAAO;IACP,aAAa;IACb,QAAQ;CACC,CAAC"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;IACtB,eAAe,EAAE,qBAAqB;IACtC,kBAAkB,EAAE,yBAAyB;IAC7C,aAAa,EAAE,mBAAmB;IAClC,kBAAkB,EAAE,yBAAyB;IAC7C,gBAAgB,EAAE,uBAAuB;IACzC,aAAa,EAAE,mBAAmB;IAClC,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,gBAAgB;CACnB,CAAC;AAIX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,MAAM;IACN,OAAO;IACP,aAAa;IACb,QAAQ;CACC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./schemas/ingest-items.js";
8
8
  export * from "./schemas/session-import.js";
9
9
  export { REGISTRATION_SOURCES, type SessionRegistration, SessionRegistrationSchema, } from "./schemas/session-registration.js";
10
10
  export * from "./schemas/session-usage-summary.js";
11
+ export * from "./schemas/session-work-location.js";
11
12
  export { isInstant, isToken } from "./values.js";
12
13
  export declare const SCHEMAS: {
13
14
  readonly "session-registration": import("@sinclair/typebox").TObject<{
@@ -149,21 +150,13 @@ export declare const SCHEMAS: {
149
150
  manual: import("@sinclair/typebox").TInteger;
150
151
  }>;
151
152
  }>;
152
- readonly "ingest-issue": import("@sinclair/typebox").TObject<{
153
- external_id: import("@sinclair/typebox").TString;
154
- project_key: import("@sinclair/typebox").TString;
155
- identifier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
156
- title: import("@sinclair/typebox").TString;
157
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
158
- status_category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
159
- raw_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
160
- is_blocked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
161
- assignee: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
162
- priority: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
163
- due_on: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
164
- parent_external_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
165
- url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
166
- source_updated_at: import("@sinclair/typebox").TString;
153
+ readonly "session-work-location": import("@sinclair/typebox").TObject<{
154
+ agent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude_code">, import("@sinclair/typebox").TLiteral<"codex">]>;
155
+ session_id: import("@sinclair/typebox").TString;
156
+ locations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
157
+ repository: import("@sinclair/typebox").TString;
158
+ branch: import("@sinclair/typebox").TString;
159
+ }>>;
167
160
  }>;
168
161
  readonly "ingest-event": import("@sinclair/typebox").TObject<{
169
162
  event_id: import("@sinclair/typebox").TString;
package/dist/index.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { AnalysisReportSchema } from "./schemas/analysis-report.js";
2
2
  import { ConfigSnapshotSchema } from "./schemas/config-snapshot.js";
3
- import { IngestEventSchema, IngestIssueSchema, } from "./schemas/ingest-items.js";
3
+ import { IngestEventSchema } from "./schemas/ingest-items.js";
4
4
  import { SessionImportSchema } from "./schemas/session-import.js";
5
5
  import { SessionRegistrationSchema } from "./schemas/session-registration.js";
6
6
  import { SessionUsageSummarySchema } from "./schemas/session-usage-summary.js";
7
+ import { SessionWorkLocationSchema } from "./schemas/session-work-location.js";
7
8
  export * from "./attributes.js";
8
9
  export { REDACTION_KINDS, REDACTION_RULES, redactText, } from "./redaction.js";
9
10
  export { normalizeRepository } from "./repository.js";
@@ -14,6 +15,7 @@ export * from "./schemas/ingest-items.js";
14
15
  export * from "./schemas/session-import.js";
15
16
  export { REGISTRATION_SOURCES, SessionRegistrationSchema, } from "./schemas/session-registration.js";
16
17
  export * from "./schemas/session-usage-summary.js";
18
+ export * from "./schemas/session-work-location.js";
17
19
  export { isInstant, isToken } from "./values.js";
18
20
  // 利用側はこの一覧から、自分のvalidatorでschemaをcompileする。Workers上ではコード生成を伴わないvalidatorを選ぶ。
19
21
  export const SCHEMAS = {
@@ -22,7 +24,7 @@ export const SCHEMAS = {
22
24
  "config-snapshot": ConfigSnapshotSchema,
23
25
  "analysis-report": AnalysisReportSchema,
24
26
  "session-usage-summary": SessionUsageSummarySchema,
25
- "ingest-issue": IngestIssueSchema,
27
+ "session-work-location": SessionWorkLocationSchema,
26
28
  "ingest-event": IngestEventSchema,
27
29
  };
28
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACN,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACN,eAAe,EACf,eAAe,EAKf,UAAU,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC9D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACN,oBAAoB,EAEpB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,sBAAsB,EAAE,yBAAyB;IACjD,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACN,eAAe,EACf,eAAe,EAKf,UAAU,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC9D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACN,oBAAoB,EAEpB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,sBAAsB,EAAE,yBAAyB;IACjD,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,iBAAiB;CACxB,CAAC"}
@@ -1,24 +1,6 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
- export declare const STATUS_CATEGORIES: readonly ["backlog", "unstarted", "started", "done", "canceled"];
3
- export declare const ACTIVITY_EVENT_TYPES: readonly ["issue.created", "issue.status_changed", "issue.assigned", "issue.updated", "pull_request.opened", "pull_request.merged", "pull_request.closed", "review.submitted", "commit.pushed", "ci.completed", "release.published", "run.started", "run.completed", "plan.updated", "decision.recorded", "config.changed", "evaluation.recorded"];
2
+ export declare const ACTIVITY_EVENT_TYPES: readonly ["issue.created", "issue.status_changed", "issue.assigned", "issue.updated", "pull_request.opened", "pull_request.merged", "pull_request.closed", "review.submitted", "commit.pushed", "ci.completed", "run.started", "run.completed", "config.changed", "evaluation.recorded"];
4
3
  export declare const ENTITY_TYPES: readonly ["issue", "pull_request", "ci_run", "run", "trace", "artifact"];
5
- export declare const IngestIssueSchema: import("@sinclair/typebox").TObject<{
6
- external_id: import("@sinclair/typebox").TString;
7
- project_key: import("@sinclair/typebox").TString;
8
- identifier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
- title: import("@sinclair/typebox").TString;
10
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
- status_category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
12
- raw_status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
- is_blocked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
14
- assignee: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
- priority: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
- due_on: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
- parent_external_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
- url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
- source_updated_at: import("@sinclair/typebox").TString;
20
- }>;
21
- export type IngestIssue = Static<typeof IngestIssueSchema>;
22
4
  export declare const IngestEventSchema: import("@sinclair/typebox").TObject<{
23
5
  event_id: import("@sinclair/typebox").TString;
24
6
  event_type: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
@@ -1,14 +1,7 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { EXECUTION_ACTOR_TYPES } from "../attributes.js";
3
- import { CalendarDate, closed, Instant, schemaId, Token } from "./common.js";
3
+ import { closed, Instant, schemaId, Token } from "./common.js";
4
4
  const literals = (values) => Type.Union(values.map((v) => Type.Literal(v)));
5
- export const STATUS_CATEGORIES = [
6
- "backlog",
7
- "unstarted",
8
- "started",
9
- "done",
10
- "canceled",
11
- ];
12
5
  export const ACTIVITY_EVENT_TYPES = [
13
6
  "issue.created",
14
7
  "issue.status_changed",
@@ -20,11 +13,8 @@ export const ACTIVITY_EVENT_TYPES = [
20
13
  "review.submitted",
21
14
  "commit.pushed",
22
15
  "ci.completed",
23
- "release.published",
24
16
  "run.started",
25
17
  "run.completed",
26
- "plan.updated",
27
- "decision.recorded",
28
18
  "config.changed",
29
19
  "evaluation.recorded",
30
20
  ];
@@ -36,28 +26,6 @@ export const ENTITY_TYPES = [
36
26
  "trace",
37
27
  "artifact",
38
28
  ];
39
- export const IngestIssueSchema = Type.Object({
40
- external_id: Token(),
41
- // 存在しないkeyの要素は拒否する(Harnessforce側でのDB検証。schemaはToken形式だけを保証する)。
42
- project_key: Token(),
43
- identifier: Type.Optional(Token(300)),
44
- title: Type.String({ minLength: 1, maxLength: 1000 }),
45
- description: Type.Optional(Type.String({ maxLength: 100_000 })),
46
- status_category: literals(STATUS_CATEGORIES),
47
- raw_status: Type.Optional(Type.String({ maxLength: 200 })),
48
- is_blocked: Type.Optional(Type.Boolean()),
49
- assignee: Type.Optional(Token()),
50
- priority: Type.Optional(Type.String({ maxLength: 100 })),
51
- due_on: Type.Optional(CalendarDate),
52
- parent_external_id: Type.Optional(Token()),
53
- // 画面にlinkとして出すため、schemeはhttpとhttpsに限る(semantic-conventions.md「Issue」)。WHATWG URLはschemeを小文字へ揃えるため大文字も許す。
54
- url: Type.Optional(Type.String({
55
- format: "uri",
56
- pattern: "^[Hh][Tt][Tt][Pp][Ss]?:",
57
- maxLength: 2048,
58
- })),
59
- source_updated_at: Instant,
60
- }, { $id: schemaId("ingest-issue"), ...closed });
61
29
  export const IngestEventSchema = Type.Object({
62
30
  event_id: Token(),
63
31
  event_type: literals(ACTIVITY_EVENT_TYPES),
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-items.js","sourceRoot":"","sources":["../../src/schemas/ingest-items.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-items.js","sourceRoot":"","sources":["../../src/schemas/ingest-items.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,QAAQ,GAAG,CAA8B,MAAS,EAAE,EAAE,CAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,eAAe;IACf,sBAAsB;IACtB,gBAAgB;IAChB,eAAe;IACf,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,qBAAqB;CACZ,CAAC;AACX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,OAAO;IACP,cAAc;IACd,QAAQ;IACR,KAAK;IACL,OAAO;IACP,UAAU;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAC3C;IACC,QAAQ,EAAE,KAAK,EAAE;IACjB,UAAU,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IAC1C,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAChC,uEAAuE;IACvE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACtC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;CACpC,EACD,EAAE,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,CAC5C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ export declare const MAX_WORK_LOCATIONS = 10;
3
+ export declare const WorkLocationPairSchema: import("@sinclair/typebox").TObject<{
4
+ repository: import("@sinclair/typebox").TString;
5
+ branch: import("@sinclair/typebox").TString;
6
+ }>;
7
+ export type WorkLocationPair = Static<typeof WorkLocationPairSchema>;
8
+ export declare const SessionWorkLocationSchema: import("@sinclair/typebox").TObject<{
9
+ agent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude_code">, import("@sinclair/typebox").TLiteral<"codex">]>;
10
+ session_id: import("@sinclair/typebox").TString;
11
+ locations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
12
+ repository: import("@sinclair/typebox").TString;
13
+ branch: import("@sinclair/typebox").TString;
14
+ }>>;
15
+ }>;
16
+ export type SessionWorkLocation = Static<typeof SessionWorkLocationSchema>;
@@ -0,0 +1,16 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { Agent, closed, RepositorySlug, schemaId, Token } from "./common.js";
3
+ // semantic-conventions.md「Session work location」: 1つの要素が持つ組の上限。
4
+ export const MAX_WORK_LOCATIONS = 10;
5
+ export const WorkLocationPairSchema = Type.Object({ repository: RepositorySlug, branch: Token() }, closed);
6
+ // pathとcommitを持たせない。同じ組を重ねない。
7
+ export const SessionWorkLocationSchema = Type.Object({
8
+ agent: Agent,
9
+ session_id: Token(),
10
+ locations: Type.Array(WorkLocationPairSchema, {
11
+ minItems: 1,
12
+ maxItems: MAX_WORK_LOCATIONS,
13
+ uniqueItems: true,
14
+ }),
15
+ }, { $id: schemaId("session-work-location"), ...closed });
16
+ //# sourceMappingURL=session-work-location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-work-location.js","sourceRoot":"","sources":["../../src/schemas/session-work-location.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7E,gEAAgE;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAChD,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAC/C,MAAM,CACN,CAAC;AAGF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,CACnD;IACC,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK,EAAE;IACnB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;QAC7C,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,IAAI;KACjB,CAAC;CACF,EACD,EAAE,GAAG,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,GAAG,MAAM,EAAE,CACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harnessforce/semconv",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Harnessforce semantic conventions: hf.* attributes and ingest JSON Schemas",
5
5
  "keywords": [
6
6
  "harnessforce",
@@ -41,9 +41,9 @@
41
41
  "@sinclair/typebox": "^0.34.52"
42
42
  },
43
43
  "devDependencies": {
44
- "@biomejs/biome": "2.5.15",
44
+ "@biomejs/biome": "2.6.4",
45
45
  "@harnessforce/test-support": "0.0.0",
46
- "@types/node": "^24.0.0",
46
+ "@types/node": "^26.0.0",
47
47
  "typescript": "^7.0.2",
48
48
  "vitest": "^5.0.0"
49
49
  },