@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 +0 -1
- package/dist/attributes.d.ts +0 -3
- package/dist/attributes.js +0 -3
- package/dist/attributes.js.map +1 -1
- package/dist/index.d.ts +8 -15
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas/ingest-items.d.ts +1 -19
- package/dist/schemas/ingest-items.js +1 -33
- package/dist/schemas/ingest-items.js.map +1 -1
- package/dist/schemas/session-work-location.d.ts +16 -0
- package/dist/schemas/session-work-location.js +16 -0
- package/dist/schemas/session-work-location.js.map +1 -0
- package/package.json +3 -3
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`
|
package/dist/attributes.d.ts
CHANGED
|
@@ -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";
|
package/dist/attributes.js
CHANGED
|
@@ -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",
|
package/dist/attributes.js.map
CHANGED
|
@@ -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,
|
|
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 "
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
|
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
|
-
"
|
|
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,
|
|
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
|
|
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 {
|
|
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":"AAAA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,
|
|
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.
|
|
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.
|
|
44
|
+
"@biomejs/biome": "2.6.4",
|
|
45
45
|
"@harnessforce/test-support": "0.0.0",
|
|
46
|
-
"@types/node": "^
|
|
46
|
+
"@types/node": "^26.0.0",
|
|
47
47
|
"typescript": "^7.0.2",
|
|
48
48
|
"vitest": "^5.0.0"
|
|
49
49
|
},
|